Coverage Report

Created: 2026-10-28 08:05

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
83.4M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
zpdfops.c:pdfi_array_size
Line
Count
Source
21
982k
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
315k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_array.c:pdfi_array_size
Line
Count
Source
21
775k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_xref.c:pdfi_array_size
Line
Count
Source
21
38.9k
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
174k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_colour.c:pdfi_array_size
Line
Count
Source
21
79.8k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_pattern.c:pdfi_array_size
Line
Count
Source
21
1.84k
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
788k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_page.c:pdfi_array_size
Line
Count
Source
21
831k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_annot.c:pdfi_array_size
Line
Count
Source
21
587k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_mark.c:pdfi_array_size
Line
Count
Source
21
1.05k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_font.c:pdfi_array_size
Line
Count
Source
21
5.70M
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
26.7M
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
23.8M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_shading.c:pdfi_array_size
Line
Count
Source
21
212
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_func.c:pdfi_array_size
Line
Count
Source
21
8.67k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_trans.c:pdfi_array_size
Line
Count
Source
21
542
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_optcontent.c:pdfi_array_size
Line
Count
Source
21
117k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_check.c:pdfi_array_size
Line
Count
Source
21
1.07M
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
11.8k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_obj.c:pdfi_array_size
Line
Count
Source
21
16.6k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_doc.c:pdfi_array_size
Line
Count
Source
21
740k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_fapi.c:pdfi_array_size
Line
Count
Source
21
18.3M
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
228M
{
29
228M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
228M
}
Unexecuted instantiation: zpdfops.c:pdfi_array_get
Unexecuted instantiation: ghostpdf.c:pdfi_array_get
pdf_dict.c:pdfi_array_get
Line
Count
Source
28
37.5k
{
29
37.5k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
37.5k
}
pdf_array.c:pdfi_array_get
Line
Count
Source
28
91.5M
{
29
91.5M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
91.5M
}
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.95k
{
29
4.95k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.95k
}
pdf_colour.c:pdfi_array_get
Line
Count
Source
28
115k
{
29
115k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
115k
}
pdf_pattern.c:pdfi_array_get
Line
Count
Source
28
295
{
29
295
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
295
}
pdf_gstate.c:pdfi_array_get
Line
Count
Source
28
563
{
29
563
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
563
}
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.62k
{
29
2.62k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
2.62k
}
pdf_font.c:pdfi_array_get
Line
Count
Source
28
101M
{
29
101M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
101M
}
pdf_font0.c:pdfi_array_get
Line
Count
Source
28
545k
{
29
545k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
545k
}
Unexecuted instantiation: pdf_font1.c:pdfi_array_get
pdf_font1C.c:pdfi_array_get
Line
Count
Source
28
2.33k
{
29
2.33k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
2.33k
}
Unexecuted instantiation: pdf_fontps.c:pdfi_array_get
pdf_font3.c:pdfi_array_get
Line
Count
Source
28
67.1k
{
29
67.1k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
67.1k
}
pdf_fontTT.c:pdfi_array_get
Line
Count
Source
28
4.77M
{
29
4.77M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.77M
}
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
22.1M
{
29
22.1M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
22.1M
}
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
61.5k
{
29
61.5k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
61.5k
}
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.07M
{
29
8.07M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
8.07M
}
31
32
static int inline pdfi_array_get_nocache(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o)
33
27.3k
{
34
27.3k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
27.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
27.3k
{
34
27.3k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
27.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