This file is indexed.

/usr/include/libspreadsheet-1.12/spreadsheet/expr-impl.h is in gnumeric 1.12.32-1+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
#ifndef _GNM_EXPR_IMPL_H_
# define _GNM_EXPR_IMPL_H_

#include "gnumeric.h"
#include "numbers.h"
#include "parse-util.h"


G_BEGIN_DECLS

struct _GnmExprConstant {
	guint8 oper;
	GnmValue const *value;
};

struct _GnmExprFunction {
	guint8 oper;
	int argc;
	GnmFunc *func;
	GnmExprConstPtr *argv;
};

struct _GnmExprUnary {
	guint8 oper;
	GnmExpr const *value;
};

struct _GnmExprBinary {
	guint8 oper;
	GnmExpr const *value_a;
	GnmExpr const *value_b;
};

/* We could break this out into multiple types to be more space efficient */
struct _GnmExprName {
	guint8 oper;
	Sheet *optional_scope;
	Workbook *optional_wb_scope;
	GnmNamedExpr *name;
};

struct _GnmExprCellRef {
	guint8 oper;
	GnmCellRef ref;
};

struct _GnmExprArrayCorner {
	guint8 oper;
	guint32 cols, rows;
	GnmValue *value;	/* Last array result */
	GnmExpr const *expr;	/* Real Expression */
};
struct _GnmExprArrayElem {
	guint8 oper;
	guint32 x, y;
};

struct _GnmExprSet {
	guint8 oper;
	int argc;
	GnmExprConstPtr *argv;
};

union _GnmExpr {
	GnmExprConstant		constant;
	GnmExprFunction		func;
	GnmExprUnary		unary;
	GnmExprBinary		binary;
	GnmExprName		name;
	GnmExprCellRef		cellref;
	GnmExprArrayCorner	array_corner;
	GnmExprArrayElem	array_elem;
	GnmExprSet		set;
};

#define GNM_EXPR_GET_OPER(e_) (0 ? (e_) == (GnmExpr const *)0 : (GnmExprOp)*(guint8*)(e_))

#define gnm_expr_constant_init(expr, val)	\
do {						\
	(expr)->oper = GNM_EXPR_OP_CONSTANT;	\
	(expr)->value = val;			\
} while (0)


struct _GnmExprSharer {
	GHashTable *exprs;

	int nodes_in, nodes_stored, nodes_killed;
	unsigned ref_count;
};


G_END_DECLS

#endif /* _GNM_EXPR_IMPL_H_ */