This file is indexed.

/usr/include/wreport/options.h is in libwreport-dev 3.6-1build2.

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
#ifndef WREPORT_OPTIONS_H
#define WREPORT_OPTIONS_H

/** @file
 *
 * Configuration variables to control configurable aspects of wreport's
 * behaviour.
 *
 * Variables are global and thread_local. They are global because they are
 * consulted in performance-critical code like Var::seti, and they are
 * thread_local so that a thread that changes its own configuration does not
 * affect the others.
 *
 * LocalOverride can be used to perform configuration changes for the duration
 * of a scope. Note that if while the override is active you pass control to an
 * unrelated part of the code which also uses wreport, the behaviour of that
 * code is also changed.
 */

namespace wreport {
namespace options {

/**
 * Whether domain errors on Var assignments raise exceptions.
 *
 * If true, domain errors on variable assignments are silent, and the target
 * variable gets set to undefined. If false (default), error_domain is raised.
 */
extern thread_local bool var_silent_domain_errors;

/**
 * Temporarily override a variable while this object is in scope.
 *
 * Note that if the variable is global, then the override is temporally limited
 * to the scope, but it is seen by all the functions that reference the
 * variable functions.
 *
 * Example:
 * \code
 * {
 *     auto o = options::local_override(options::var_silent_domain_errors, true);
 *     var.setd(value)
 * }
 * \endcode
 */
template<typename T>
struct LocalOverride
{
    T old_value;
    T& param;

    LocalOverride(T& param, const T& new_value)
        : old_value(param), param(param)
    {
        param = new_value;
    }
    ~LocalOverride()
    {
        param = old_value;
    }
};

template<typename T> static inline LocalOverride<T> local_override(T& param, const T& new_value)
{
    return LocalOverride<T>(param, new_value);
}

}
}

#endif