Coverage Report

Created: 2026-04-01 07:17

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
90.8M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
zpdfops.c:pdfi_array_size
Line
Count
Source
21
1.02M
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
264k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_array.c:pdfi_array_size
Line
Count
Source
21
738k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_xref.c:pdfi_array_size
Line
Count
Source
21
38.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
169k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_colour.c:pdfi_array_size
Line
Count
Source
21
67.7k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_pattern.c:pdfi_array_size
Line
Count
Source
21
2.09k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_gstate.c:pdfi_array_size
Line
Count
Source
21
2.39M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_image.c:pdfi_array_size
Line
Count
Source
21
1.05M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_page.c:pdfi_array_size
Line
Count
Source
21
868k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_annot.c:pdfi_array_size
Line
Count
Source
21
571k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_mark.c:pdfi_array_size
Line
Count
Source
21
6.63k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_font.c:pdfi_array_size
Line
Count
Source
21
5.71M
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
36.4M
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
20.8M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_shading.c:pdfi_array_size
Line
Count
Source
21
249
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_func.c:pdfi_array_size
Line
Count
Source
21
7.06k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_trans.c:pdfi_array_size
Line
Count
Source
21
553
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_optcontent.c:pdfi_array_size
Line
Count
Source
21
113k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_check.c:pdfi_array_size
Line
Count
Source
21
1.04M
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
74.0k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_obj.c:pdfi_array_size
Line
Count
Source
21
94.3k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_doc.c:pdfi_array_size
Line
Count
Source
21
702k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_fapi.c:pdfi_array_size
Line
Count
Source
21
18.6M
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
254M
{
29
254M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
254M
}
Unexecuted instantiation: zpdfops.c:pdfi_array_get
Unexecuted instantiation: ghostpdf.c:pdfi_array_get
pdf_dict.c:pdfi_array_get
Line
Count
Source
28
30.4k
{
29
30.4k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
30.4k
}
pdf_array.c:pdfi_array_get
Line
Count
Source
28
111M
{
29
111M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
111M
}
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.83k
{
29
4.83k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.83k
}
pdf_colour.c:pdfi_array_get
Line
Count
Source
28
104k
{
29
104k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
104k
}
pdf_pattern.c:pdfi_array_get
Line
Count
Source
28
332
{
29
332
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
332
}
pdf_gstate.c:pdfi_array_get
Line
Count
Source
28
579
{
29
579
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
579
}
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
13.7k
{
29
13.7k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
13.7k
}
pdf_font.c:pdfi_array_get
Line
Count
Source
28
107M
{
29
107M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
107M
}
pdf_font0.c:pdfi_array_get
Line
Count
Source
28
920k
{
29
920k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
920k
}
Unexecuted instantiation: pdf_font1.c:pdfi_array_get
pdf_font1C.c:pdfi_array_get
Line
Count
Source
28
343k
{
29
343k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
343k
}
Unexecuted instantiation: pdf_fontps.c:pdfi_array_get
pdf_font3.c:pdfi_array_get
Line
Count
Source
28
73.9k
{
29
73.9k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
73.9k
}
pdf_fontTT.c:pdfi_array_get
Line
Count
Source
28
6.90M
{
29
6.90M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
6.90M
}
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
19.1M
{
29
19.1M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
19.1M
}
pdf_shading.c:pdfi_array_get
Line
Count
Source
28
7
{
29
7
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
7
}
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
59.2k
{
29
59.2k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
59.2k
}
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
8.08M
{
29
8.08M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
8.08M
}
31
32
static int inline pdfi_array_get_nocache(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o)
33
20.3k
{
34
20.3k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
20.3k
}
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
20.3k
{
34
20.3k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
20.3k
}
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