This file is indexed.

/usr/share/THE/append.the is in the 3.3~b4-1.

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
/*
$Id: append.the,v 1.1 2001/01/04 09:39:49 mark Exp $
*/
/***********************************************************************/
/* Description: REXX macro to append a string to a line.               */
/* Syntax:      append target string                                   */
/* Notes:       This macro appends the supplied string to the lines    */
/*              specified in the target.                               */
/*              Full XEDIT/KEDIT/THE targets are supported.            */
/*              A single character delimits the beginning of the string*/
/*              to be appended.                                        */
/*              eg. append /fred/ | /bob/ xyz                          */
/*                                       ^ 1 space                     */
/*                  will append 'xyz' to the end of each line          */
/*              eg. append /fred/ | /bob/  xyz                         */
/*                                       ^^ 2 spaces                   */
/*                  will append ' xyz' to the end of each line         */
/*              eg. append /fred/ | /bob/xyz                           */
/*                                      ^ no spaces                    */
/*                  will append 'yz' to the end of each line           */
/***********************************************************************/
Trace o
arg1 = Arg(1)
noargs = Arg()
If noargs = 0 Then arg1 = '1'               /* no args - assume 1 line */
forward = 1                  /* assume direction is forward by default */
'EXTRACT /LINE/SIZE/STAY/FTYPE/FNAME/'            /* get various stuff */
current_line = line.1                   /* save current line for later */
reply = valid_target(arg1,spare)           /* validate supplied target */
If reply = 'ERROR' Then
   Do
     'EMSG Error: 17 Invalid target' arg1
     Exit
   End
If reply = 'NOTFOUND' Then
   Do
     'EMSG Error: 17 Target not found' arg1
     Exit
   End
'preserve'
start_line = Word(reply,1)                        /* get starting line */
nolines = Word(reply,2)                         /* get number of lines */
start_string = Wordindex(reply,2) + Wordlength(reply,2) + 2
string = Substr(reply,start_string) /* rest of argument is append string */
If nolines < 0 Then Do                /* if target before current line */
   forward = 0                    /* indicate direction to be backward */
   nolines = nolines * -1                     /* make nolines positive */
End
':'||start_line                                    /* go to first line */
totlines = 0                             /* reset changed line counter */
Do nolines                              /* for each line to target ... */
   'EXTRACT /CURLINE/TOF/EOF/'       /* get current line contents, etc.*/
   If tof.1 = 'ON',                    /* ignore line if on TOF or EOF */
   |  eof.1 = 'ON' Then nop
   Else
     Do
       'REPLACE' curline.3||string
       totlines = totlines + 1
     End
   If forward = 1 Then 'N'          /* if going forward, get next line */
   Else 'U'                   /* if going backwards, get previous line */
   If rc \= 0 Then Leave                         /* shouldn't get here */
End
'EMSG' "'"||string||"'" 'appended to' totlines 'lines' /* say how many lines changed */
If stay.1 = 'ON' Then ':'||current_line 
'restore'
Return                                               /* go back to THE */