Public feed
#725930
sub lastlog {
local($account)=@_;
#$account=$ARGV[0];
@months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
'Sep', 'Oct', 'Nov', 'Dec');
$oneyear = 60*60*24*365.24/2;
setpwent;
$uid = getpwnam($account);
$name = getpwuid($uid);
$names{$uid} = $name;
endpwent;
open(LASTL,'/var/adm/lastlog');
for ($uid = 0; read(LASTL, $record, 28); $uid++) {
if ( $names{$uid} =~ $account ) {
($time, $line, $host) = unpack('l A8 A16', $record);
next unless $time;
$host = "($host)" if $host;
($sec, $min, $hour, $mday, $mon, $year) = localtime($time);
if (time - $time > $oneyear) {
printf "%-9s%-8s%s %2d %4d %s\n",
$names{$uid}, $line, $months[$mon], $mday, 1900+$year, $host;
} else {
printf "%-9s%-8s%s %2d %02d:%02d %s\n",
$names{$uid}, $line, $months[$mon], $mday, $hour, $min, $host;
}
}
}
}