This file is indexed.

/usr/lib/emboss/include/ajexcept.h is in emboss-lib 6.3.1-6ubuntu3.

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
 98
 99
100
101
102
103
104
105
#ifdef __cplusplus
extern "C"
{
#endif

#ifndef ajexcept_h
#define ajexcept_h

#include "ajarch.h"

#include <setjmp.h>




/* @data Except_T ************************************************************
**
** Exception data structure
**
** @attr reason [const char*] Reason for the exception
** @@
******************************************************************************/

typedef struct Except_T
{
    const char *reason;
} Except_T;




/* @data Except_Frame ********************************************************
**
** Exception frame data structure
**
** @attr env [jmp_buf] Environment jump buffer
** @attr prev [struct Except_Frame*] Previous exception if any
** @attr file [const char*] source filename usually from __FILE__
** @attr exception [const Except_T*] Exception data (reason)
** @attr line [ajint] source line number usually from __LINE__
** @attr Padding [char[4]] Padding to alignment boundary
** @@
******************************************************************************/

typedef struct Except_Frame
{
    jmp_buf env;
    struct Except_Frame *prev;
    const char *file;
    const Except_T *exception;
    ajint line;
    char Padding[4];
} Except_Frame;

enum { Except_entered=0, Except_raised,
       Except_handled,   Except_finalized };
extern Except_Frame *Except_stack;


extern const Except_T Assert_Failed;

/*
** Prototype definitions
*/

void ajExceptRaise(const Except_T *e, const char *file, ajint line);

/*
** End of prototype definitions
*/

#define AJRAISE(e) ajExceptRaise(&(e), __FILE__, __LINE__)
#define AJRERAISE ajExceptRaise(Except_frame.exception, \
	Except_frame.file, Except_frame.line)
#define AJRETURN switch (Except_stack = Except_stack->prev,0) default: return
#define AJTRY do { \
	volatile ajint Except_flag; \
	Except_Frame Except_frame; \
	Except_frame.prev = Except_stack; \
	Except_stack = &Except_frame;  \
	Except_flag = setjmp(Except_frame.env); \
	if (Except_flag == Except_entered) {
#define AJEXCEPT(e) \
        if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
	} else if (Except_frame.exception == &(e)) { \
		Except_flag = Except_handled;
#define ELSE \
        if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
	} else { \
		Except_flag = Except_handled;
#define FINALLY \
        if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
	} { \
	if (Except_flag == Except_entered) \
			Except_flag = Except_finalized;
#define END_TRY \
	if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \
	} if (Except_flag == Except_raised) AJRERAISE; \
} while (0)
#undef T
#endif

#ifdef __cplusplus
}
#endif