This file is indexed.

/usr/include/ncl/nxsexception.h is in libncl-dev 2.1.18+dfsg-2.

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
97
//	Copyright (C) 1999-2003 Paul O. Lewis
//
//	This file is part of NCL (Nexus Class Library) version 2.0.
//
//	NCL is free software; you can redistribute it and/or modify
//	it under the terms of the GNU General Public License as published by
//	the Free Software Foundation; either version 2 of the License, or
//	(at your option) any later version.
//
//	NCL is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//	GNU General Public License for more details.
//
//	You should have received a copy of the GNU General Public License
//	along with NCL; if not, write to the Free Software Foundation, Inc.,
//	59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//

#ifndef NCL_NXSEXCEPTION_H
#define NCL_NXSEXCEPTION_H

#include "ncl/nxsstring.h"

class NxsToken;
class ProcessedNxsToken;
class NxsTokenPosInfo;
/*!
	Exception class that conveys a message specific to the problem encountered.
*/
class NxsException: public std::exception
	{
	public:
		mutable NxsString	msg;	/* NxsString to hold message */
		file_pos	pos;	/* current file position */
		long		line;	/* current line in file */
		long		col;	/* column of current line */
		virtual ~NxsException() throw()
			{
			}

		NxsException(const std::string & s, file_pos fp = 0, long fl = 0L, long fc = 0L);
		NxsException(const std::string &s, const NxsToken &t);
		NxsException(const std::string &s, const ProcessedNxsToken &t);
		NxsException(const std::string &s, const NxsTokenPosInfo &t);
		const char * what () const throw ()
			{
			return msg.empty() ? "Unknown Nexus Exception" : msg.c_str();
			}
		const char * nxs_what () const;
		void addPositionInfo(const NxsToken & t);
		void addPositionInfo(const ProcessedNxsToken & t);
		void addPositionInfo(const NxsTokenPosInfo & t);
		void addPositionInfo(file_pos fp, long fl, long fc);
	};

typedef NxsException XNexus;

/*!
	Thrown when a programming error (a violation of one of the APIs used in NCL) is revealed.
*/
class NxsNCLAPIException: public NxsException
	{
	public:
		NxsNCLAPIException(NxsString s) :NxsException(s, 0, -1L,-1L){}
		NxsNCLAPIException(NxsString s, NxsToken &t) :NxsException(s, t){}
	};

/*!
	Thrown when an unimplemented method is called.
*/
class NxsUnimplementedException: public NxsNCLAPIException
	{
	public:
		NxsUnimplementedException(NxsString s):NxsNCLAPIException(s){}
		NxsUnimplementedException(NxsString s, NxsToken &t):NxsNCLAPIException(s,t){}
	};


class DuplicatedLabelNxsException: public NxsException
	{
	public:
		DuplicatedLabelNxsException(const std::string & s):NxsException(s){}
	};


/*------------------------------------------------------------------------------
 This exception will be thrown if NCL signal handling is activated (static
	methods in NxsReader control this) and a SIGINT is detected during a
	parse.
*/
class NxsSignalCanceledParseException: public NxsException
	{
	public:
		NxsSignalCanceledParseException(const std::string & s);
	};
#endif