Coverage Report

Created: 2026-04-09 07:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ghostpdl/pdf/pdf_array.h
Line
Count
Source
1
/* Copyright (C) 2018-2023 Artifex Software, Inc.
2
   All Rights Reserved.
3
4
   This software is provided AS-IS with no warranty, either express or
5
   implied.
6
7
   This software is distributed under license and may not be copied,
8
   modified or distributed except as expressly authorized under the terms
9
   of the license contained in the file LICENSE in this distribution.
10
11
   Refer to licensing information at http://www.artifex.com or contact
12
   Artifex Software, Inc.,  39 Mesa Street, Suite 108A, San Francisco,
13
   CA 94129, USA, for further information.
14
*/
15
16
/* array handling for the PDF interpreter */
17
18
#ifndef PDF_ARRAY_FUNCTIONS
19
#define PDF_ARRAY_FUNCTIONS
20
21
75.9M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
zpdfops.c:pdfi_array_size
Line
Count
Source
21
956k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
Unexecuted instantiation: ghostpdf.c:pdfi_array_size
pdf_dict.c:pdfi_array_size
Line
Count
Source
21
487k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_array.c:pdfi_array_size
Line
Count
Source
21
790k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_xref.c:pdfi_array_size
Line
Count
Source
21
36.8k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
Unexecuted instantiation: pdf_int.c:pdfi_array_size
pdf_file.c:pdfi_array_size
Line
Count
Source
21
159k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_colour.c:pdfi_array_size
Line
Count
Source
21
156k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_pattern.c:pdfi_array_size
Line
Count
Source
21
1.86k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_gstate.c:pdfi_array_size
Line
Count
Source
21
2.25M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_image.c:pdfi_array_size
Line
Count
Source
21
871k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_page.c:pdfi_array_size
Line
Count
Source
21
809k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_annot.c:pdfi_array_size
Line
Count
Source
21
588k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_mark.c:pdfi_array_size
Line
Count
Source
21
1.20k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_font.c:pdfi_array_size
Line
Count
Source
21
5.34M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
Unexecuted instantiation: pdf_font0.c:pdfi_array_size
pdf_font1.c:pdfi_array_size
Line
Count
Source
21
25.5M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
Unexecuted instantiation: pdf_font1C.c:pdfi_array_size
Unexecuted instantiation: pdf_fontps.c:pdfi_array_size
Unexecuted instantiation: pdf_font3.c:pdfi_array_size
Unexecuted instantiation: pdf_fontTT.c:pdfi_array_size
Unexecuted instantiation: pdf_font11.c:pdfi_array_size
Unexecuted instantiation: pdf_fmap.c:pdfi_array_size
pdf_text.c:pdfi_array_size
Line
Count
Source
21
19.3M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_shading.c:pdfi_array_size
Line
Count
Source
21
214
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_func.c:pdfi_array_size
Line
Count
Source
21
17.5k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_trans.c:pdfi_array_size
Line
Count
Source
21
960
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_optcontent.c:pdfi_array_size
Line
Count
Source
21
111k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_check.c:pdfi_array_size
Line
Count
Source
21
1.08M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
Unexecuted instantiation: pdf_sec.c:pdfi_array_size
pdf_deref.c:pdfi_array_size
Line
Count
Source
21
13.3k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_obj.c:pdfi_array_size
Line
Count
Source
21
18.2k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_doc.c:pdfi_array_size
Line
Count
Source
21
645k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_fapi.c:pdfi_array_size
Line
Count
Source
21
16.7M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
22
23
int pdfi_array_fetch(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o, bool setref, bool cache);
24
/* The object returned by pdfi_array_get has its reference count incremented by 1 to
25
 * indicate the reference now held by the caller, in **o.
26
 */
27
static int inline pdfi_array_get(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o)
28
209M
{
29
209M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
209M
}
Unexecuted instantiation: zpdfops.c:pdfi_array_get
Unexecuted instantiation: ghostpdf.c:pdfi_array_get
pdf_dict.c:pdfi_array_get
Line
Count
Source
28
61.1k
{
29
61.1k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
61.1k
}
pdf_array.c:pdfi_array_get
Line
Count
Source
28
89.8M
{
29
89.8M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
89.8M
}
Unexecuted instantiation: pdf_xref.c:pdfi_array_get
Unexecuted instantiation: pdf_int.c:pdfi_array_get
pdf_file.c:pdfi_array_get
Line
Count
Source
28
4.63k
{
29
4.63k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.63k
}
pdf_colour.c:pdfi_array_get
Line
Count
Source
28
143k
{
29
143k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
143k
}
pdf_pattern.c:pdfi_array_get
Line
Count
Source
28
273
{
29
273
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
273
}
pdf_gstate.c:pdfi_array_get
Line
Count
Source
28
526
{
29
526
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
526
}
Unexecuted instantiation: pdf_image.c:pdfi_array_get
Unexecuted instantiation: pdf_page.c:pdfi_array_get
Unexecuted instantiation: pdf_annot.c:pdfi_array_get
pdf_mark.c:pdfi_array_get
Line
Count
Source
28
2.87k
{
29
2.87k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
2.87k
}
pdf_font.c:pdfi_array_get
Line
Count
Source
28
88.2M
{
29
88.2M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
88.2M
}
pdf_font0.c:pdfi_array_get
Line
Count
Source
28
579k
{
29
579k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
579k
}
Unexecuted instantiation: pdf_font1.c:pdfi_array_get
pdf_font1C.c:pdfi_array_get
Line
Count
Source
28
2.27k
{
29
2.27k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
2.27k
}
Unexecuted instantiation: pdf_fontps.c:pdfi_array_get
pdf_font3.c:pdfi_array_get
Line
Count
Source
28
68.6k
{
29
68.6k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
68.6k
}
pdf_fontTT.c:pdfi_array_get
Line
Count
Source
28
4.83M
{
29
4.83M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.83M
}
Unexecuted instantiation: pdf_font11.c:pdfi_array_get
Unexecuted instantiation: pdf_fmap.c:pdfi_array_get
pdf_text.c:pdfi_array_get
Line
Count
Source
28
17.8M
{
29
17.8M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
17.8M
}
pdf_shading.c:pdfi_array_get
Line
Count
Source
28
6
{
29
6
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
6
}
Unexecuted instantiation: pdf_func.c:pdfi_array_get
Unexecuted instantiation: pdf_trans.c:pdfi_array_get
pdf_optcontent.c:pdfi_array_get
Line
Count
Source
28
57.9k
{
29
57.9k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
57.9k
}
Unexecuted instantiation: pdf_check.c:pdfi_array_get
Unexecuted instantiation: pdf_sec.c:pdfi_array_get
Unexecuted instantiation: pdf_deref.c:pdfi_array_get
Unexecuted instantiation: pdf_obj.c:pdfi_array_get
Unexecuted instantiation: pdf_doc.c:pdfi_array_get
pdf_fapi.c:pdfi_array_get
Line
Count
Source
28
7.39M
{
29
7.39M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
7.39M
}
31
32
static int inline pdfi_array_get_nocache(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o)
33
62.6k
{
34
62.6k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
62.6k
}
Unexecuted instantiation: zpdfops.c:pdfi_array_get_nocache
Unexecuted instantiation: ghostpdf.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_dict.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_array.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_xref.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_int.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_file.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_colour.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_pattern.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_gstate.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_image.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_page.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_annot.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_mark.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font0.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font1.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font1C.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_fontps.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font3.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_fontTT.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_font11.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_fmap.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_text.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_shading.c:pdfi_array_get_nocache
pdf_func.c:pdfi_array_get_nocache
Line
Count
Source
33
62.6k
{
34
62.6k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
62.6k
}
Unexecuted instantiation: pdf_trans.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_optcontent.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_check.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_sec.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_deref.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_obj.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_doc.c:pdfi_array_get_nocache
Unexecuted instantiation: pdf_fapi.c:pdfi_array_get_nocache
36
37
void pdfi_free_array(pdf_obj *o);
38
int pdfi_array_alloc(pdf_context *ctx, uint64_t size, pdf_array **a);
39
int pdfi_array_from_stack(pdf_context *ctx, uint32_t indirect_num, uint32_t indirect_gen);
40
int pdfi_array_get_no_deref(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o);
41
int pdfi_array_get_no_store_R(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o);
42
int pdfi_array_get_type(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj_type t, pdf_obj **o);
43
int pdfi_array_get_int(pdf_context *ctx, pdf_array *a, uint64_t index, int64_t *i);
44
int pdfi_array_get_number(pdf_context *ctx, pdf_array *a, uint64_t index, double *f);
45
int pdfi_array_put(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj *o);
46
int pdfi_array_put_int(pdf_context *ctx, pdf_array *a, uint64_t index, int64_t val);
47
int pdfi_array_put_real(pdf_context *ctx, pdf_array *a, uint64_t index, double val);
48
49
bool pdfi_array_known(pdf_context *ctx, pdf_array *a, pdf_obj *, int *index);
50
51
void pdfi_normalize_rect(pdf_context *ctx, gs_rect *rect);
52
int pdfi_array_to_gs_rect(pdf_context *ctx, pdf_array *array, gs_rect *rect);
53
int pdfi_gs_rect_to_array(pdf_context *ctx, gs_rect *rect, pdf_array **new_array);
54
int pdfi_array_to_gs_matrix(pdf_context *ctx, pdf_array *array, gs_matrix *matrix);
55
int pdfi_array_to_num_array(pdf_context *ctx, pdf_array *array, double *out, int start, int size);
56
void pdfi_bbox_transform(pdf_context *ctx, gs_rect *bbox, gs_matrix *matrix);
57
58
int pdfi_array_fetch_recursing(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o, bool setref, bool cache);
59
60
#endif