/usr/share/lifelines/select.ll is in lifelines-reports 3.0.61-2build1.
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 | /*
* @progname select.ll
* @version 3
* @author Wetmore, Groleau, McGee
* @category
* @output Custom
* @description
Customizable report stub to do the following:
o Select a person with all ancestors and all descendents.
o Add to selection all other persons within a user-specified number of
links from any person in the first selection.
o Turn the selected set of persons into a list
o Call a report subprogram to process the list.
WRITTEN BY TOM WETMORE, 21 Jul 1995
minor mods by Wes Groleau, 25 Aug 1995
Scott McGee fixed Wes's bug, 26 Aug 1995 :-)
*/
list(o) /* output list */
/* have user provide start person and link distance */
getindi(i, "Please identify start person.")
if (not(i)) { return() }
getint(n, "Please enter link distance.")
/* create set with all ancestors and descendents */
indiset(s) addtoset(s, i, 1)
indiset(a) set(a, ancestorset(s)) /* could be made optional */
indiset(d) set(d, descendentset(s)) /* could be made optional */
set(s, union(s, union(a, d)))
/* create set of additional, linked-to persons */
indiset(t) set(t, spouseset(s))
set(n, sub(n, 1))
while (gt(n, 0)) {
set(a, parentset(t))
set(d, childset(t))
set(b, siblingset(t))
set(c, spouseset(t))
set(t, union(t, union(a, union(d, union(b, c)))))
set(n, sub(n, 1))
}
/* create final set of all selected persons and generate the report */
set(s, union(s, t))
if(s){
forindiset(s, j, n, m) {
enqueue(o, j)
}
}
call do_list(o) /* your routine here */
}
proc do_list (o) { /* your routine here */ }
|