Bug in server log viewer

There seems to be a bug in the server log viewer. The SetRange function in admin/html.open/lib/LogViewer.php prevents $from from being set to -1, which is POS_FILEEND ie the end of the file. Therefore the |> button does not really work.

function SetRange($from, $size)
if ($from < 0)
$from = 0; // <-- This is wrong

which also breaks the code below in the same file:

public static function GetDashErrLog($errorlogfile)
$filter = new LogFilter($errorlogfile);
$filter->Set(LogFilter::FLD_LEVEL, LogFilter::LEVEL_NOTICE);
$filter->SetRange(LogFilter :: POS_FILEEND, 20); // <-- This won't work because POS_FILEEND is -1!

Please advice and fix. And also, how do I disable auto-smiley replacement