This file is indexed.

/usr/share/lifelines/ldsgedcom.li is in lifelines-reports 3.0.61-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
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
 * @progname    ldsgedcom.li
 * @version     1.2 of 2004-07-03
 * @author      Vincent Broman (vpbroman@mstar2.net)
 * @category
 * @output      gedcom event and string function values
 * @description
 *
 *  Utility functions supporting LDS aspects of GeDCom data
 *  ldstemple( event) -> string,
 *  ldsspousesealing( fam) -> event,
 *  ldsbaptism( indi) -> event,
 *  ldsendowment( indi) -> event,
 *  ldschildsealing( indi) -> event
 *
 * I put equivalent functions in my C source, but this can be used everywhere.
 */

func ldstemple( ev) {
    fornodes( ev, childnode) {
	if( eqstr( tag( childnode), "TEMP")) {
	    return( save( value( childnode)))
	}
    }
    return( 0)
}

func ldsspousesealing( fam) {
    fornodes( root( fam), childnode) {
	if( eqstr( tag( childnode), "SLGS")) {
	    return( childnode)
	}
    }
    return( 0)
}

func ldsbaptism( indi) {
    fornodes( root( indi), childnode) {
	if( eqstr( tag( childnode), "BAPL")) {
	    return( childnode)
	}
    }
    return( 0)
}

func ldsendowment( indi) {
    fornodes( root( indi), childnode) {
	if( eqstr( tag( childnode), "ENDL")) {
	    return( childnode)
	}
    }
    return( 0)
}

/*
 * ldschildsealing(i) returns a SLGC sealing of child EVENT for the INDI indi
 * or if no such event is found zero is returned.
 * if the person is a child sealed in more than one family,
 * only the first find is returned.
 * This searches first the INDI-SLGC or INDI-FAMC-SLGC syntax, then the old FAM-CHIL-SLGC one.
 */

func ldschildsealing( indi) {
    fornodes( root( indi), childnode) {
	if( eqstr( tag( childnode), "FAMC")) {
	    fornodes( childnode, sealnode) {
		if( eqstr( tag( sealnode), "SLGC")) {
		    return( sealnode)
		}
	    }
	} else if( eqstr( tag( childnode), "SLGC")) {
		return( childnode)
	}
    }
    set( k, save( concat( "@", key( indi), "@")))
    if( p, parents( indi)) {
	/* children( p, ch, i) */
	fornodes( root( p), childnode) {
	    if( and( eqstr( tag( childnode), "CHIL"),
		     eqstr( value( childnode), k))) {
		fornodes( childnode, sealnode) {
		    if( eqstr( tag( sealnode), "SLGC")) {
			return( sealnode)
		    }
		}
	    }
	}
    }
    return( 0)
}

/* for testing
proc printordinance( ord) {
    if( ord) {
	tag( ord) ": "
	if( val, value( ord)) {
	    val
	} else {
	    set( ordd, save( date( ord)))
	    ordd
	    if( ordt, ldstemple( ord)) {
		if( ordd) { ", " }
		ordt
	    }
	}
	nl()
    }
}

proc main() {
    "All individual ordinances" nl() nl()
    forindi( i, c) {
	"#" d( c) ": " name( i)
	if( b, birth( i)) { "  b. " long( b) }
	nl()
	call printordinance( ldsbaptism( i))
	call printordinance( ldsendowment( i))
	call printordinance( ldschildsealing( i))
    }
}
 */