This file is indexed.

/usr/share/perl5/Llgal/Messages.pm is in llgal 0.13.19-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
 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
package Llgal::Messages ;

use strict ;

# messaging context

sub new {
    my $self = {} ;
    bless $self ;
    $self->{indent} = "" ;
    $self->{percentage_total} = 0 ;
    $self->{delayed_warning} = 0 ;
    $self->{pending_warnings} = "" ;
    $self->{verbose} = 0 ;
    return $self ;
}

sub copy {
    my $self = shift ;
    my $new_self = {
	indent => $self->{indent},
	percentage_total => $self->{percentage_total},
	percentage_in_progress => $self->{percentage_in_progress},
	delayed_warning => $self->{delayed_warning},
	pending_warnings => $self->{pending_warnings},
	verbose => $self->{verbose},
    } ;
    bless $new_self ;
    return $new_self ;
}

# indented printing

sub print {
    my $self = shift ;
    print $self->{indent} ;
    print @_ ;
}

sub indent {
    my $self = shift ;
    $self->{indent} .= "  " ;
}

# notice (verbose mode only)

sub notice {
    my $self = shift ;
    print @_
	if $self->{verbose} ;
}

# Warnings are shown after each step of processing to avoid
# breaking precentage progressions and so

my $warning_prefix = "!! " ;

sub warning {
    my $self = shift ;
    while (@_) {
	my $line = shift ;
	chomp $line ;
	if ($self->{delayed_warning}) {
	    $self->{pending_warnings} .= $warning_prefix.$line."\n" ;
	} else {
	    print $warning_prefix.$line."\n" ;
	}
    }
}

sub delay_warnings {
    my $self = shift ;
    $self->{delayed_warning} = 1 ;
}

sub show_delayed_warnings {
    my $self = shift ;
    print $self->{pending_warnings} ;
    $self->{pending_warnings} = "" ;
    $self->{delayed_warning} = 0 ;
}

# percentage printing

sub init_percentage {
    my $self = shift ;
    $self->{delayed_warning} = 1 ;
    $self->{percentage_total} = shift ;
    print "   0.00%" ;
}

sub update_percentage {
    my $self = shift ;
    my $i = shift ;
    my $val = $i*100/$self->{percentage_total} ;
    printf "\b\b\b\b\b\b\b\b% 7.2f%%", $val ;
}

sub end_percentage {
    my $self = shift ;
    printf "\b\b\b\b\b\b\b\b% 7.2f%%\n", 100 ;
    $self->show_delayed_warnings () ;
}

sub abort_percentage {
    my $self = shift ;
    print "\n" ;
    $self->show_delayed_warnings () ;
}

1 ;