Coverage Report

Created: 2026-02-14 07:09

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
94.2M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
zpdfops.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: ghostpdf.c:pdfi_array_size
pdf_dict.c:pdfi_array_size
Line
Count
Source
21
250k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_array.c:pdfi_array_size
Line
Count
Source
21
755k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_xref.c:pdfi_array_size
Line
Count
Source
21
41.4k
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
136k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_colour.c:pdfi_array_size
Line
Count
Source
21
58.6k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_pattern.c:pdfi_array_size
Line
Count
Source
21
2.26k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_gstate.c:pdfi_array_size
Line
Count
Source
21
2.58M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_image.c:pdfi_array_size
Line
Count
Source
21
1.15M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_page.c:pdfi_array_size
Line
Count
Source
21
914k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_annot.c:pdfi_array_size
Line
Count
Source
21
577k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_mark.c:pdfi_array_size
Line
Count
Source
21
6.78k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_font.c:pdfi_array_size
Line
Count
Source
21
5.91M
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
37.2M
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
21.2M
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_shading.c:pdfi_array_size
Line
Count
Source
21
262
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_func.c:pdfi_array_size
Line
Count
Source
21
5.77k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_trans.c:pdfi_array_size
Line
Count
Source
21
546
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_optcontent.c:pdfi_array_size
Line
Count
Source
21
130k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_check.c:pdfi_array_size
Line
Count
Source
21
1.03M
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.4k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_doc.c:pdfi_array_size
Line
Count
Source
21
722k
static inline uint64_t pdfi_array_size(pdf_array *a) { return a->size; }
pdf_fapi.c:pdfi_array_size
Line
Count
Source
21
20.1M
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
261M
{
29
261M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
261M
}
Unexecuted instantiation: zpdfops.c:pdfi_array_get
Unexecuted instantiation: ghostpdf.c:pdfi_array_get
pdf_dict.c:pdfi_array_get
Line
Count
Source
28
29.1k
{
29
29.1k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
29.1k
}
pdf_array.c:pdfi_array_get
Line
Count
Source
28
113M
{
29
113M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
113M
}
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.93k
{
29
4.93k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
4.93k
}
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
363
{
29
363
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
363
}
pdf_gstate.c:pdfi_array_get
Line
Count
Source
28
637
{
29
637
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
637
}
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
109M
{
29
109M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
109M
}
pdf_font0.c:pdfi_array_get
Line
Count
Source
28
923k
{
29
923k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
923k
}
Unexecuted instantiation: pdf_font1.c:pdfi_array_get
pdf_font1C.c:pdfi_array_get
Line
Count
Source
28
771k
{
29
771k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
771k
}
Unexecuted instantiation: pdf_fontps.c:pdfi_array_get
pdf_font3.c:pdfi_array_get
Line
Count
Source
28
75.9k
{
29
75.9k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
75.9k
}
pdf_fontTT.c:pdfi_array_get
Line
Count
Source
28
6.96M
{
29
6.96M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
6.96M
}
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.5M
{
29
19.5M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
19.5M
}
pdf_shading.c:pdfi_array_get
Line
Count
Source
28
10
{
29
10
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
10
}
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
67.7k
{
29
67.7k
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
67.7k
}
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
9.60M
{
29
9.60M
    return pdfi_array_fetch(ctx, a, index, o, true, true);
30
9.60M
}
31
32
static int inline pdfi_array_get_nocache(pdf_context *ctx, pdf_array *a, uint64_t index, pdf_obj **o)
33
15.1k
{
34
15.1k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
15.1k
}
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
15.1k
{
34
15.1k
    return pdfi_array_fetch(ctx, a, index, o, true, false);
35
15.1k
}
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