MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/lib/syslinux/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/syslinux/sys2ansi.pl
#!/usr/bin/perl
# $Id: sys2ansi.pl,v 1.8 2003/07/01 00:49:31 hpa Exp $
#
# Perl script to convert a Syslinux-format screen to PC-ANSI
# to display in a color xterm or on the Linux console
#

@ansicol = (0,4,2,6,1,5,3,7);

$getting_file = 0;
$enable = 1;

while ( read(STDIN, $ch, 1) > 0 ) {
    if ( $ch eq "\x1A" ) {	# <SUB> <Ctrl-Z> EOF
	last;
    } elsif ( $ch eq "\x0C" ) {	# <FF>  <Ctrl-L> Clear screen
	print "\x1b[2J" if ( $enable && !$getting_file );
    } elsif ( $ch eq "\x0F" ) {	# <SI>  <Ctrl-O> Attribute change
	if ( !$getting_file ) {
	    if ( read(STDIN, $attr, 2) == 2 ) {
		$attr = hex $attr;
		if ( $enable ) {
		    print "\x1b[0;";
		    if ( $attr & 0x80 ) {
			print "5;";
			$attr &= ~0x80;
		    }
		    if ( $attr & 0x08 ) {
			print "1;";
			$attr &= ~0x08;
		    }
		    printf "%d;%dm",
		    $ansicol[$attr >> 4] + 40, $ansicol[$attr & 7] + 30;
		}
	    }
	}
    } elsif ( $ch eq "\x18" ) {	# <CAN> <Ctrl-X> Display image
	# We can't display an image; pretend to be a text screen
	# Ignore all input until end of line
	$getting_file = 1;
    } elsif ( (ord($ch) & ~07) == 0x10 ) { # Mode controls
	$enable = (ord($ch) & 0x01); # Emulate the text screen
    } elsif ( $ch eq "\x0D" ) {	# <CR>  <Ctrl-M> Carriage return
	# Ignore
    } elsif ( $ch eq "\x0A" ) { # <LF>  <Ctrl-J> Line feed
	if ( $getting_file ) {
	    $getting_file = 0;
	} else {
	    print $ch if ( $enable );
	}
    } else {
	print $ch if ( $enable && !$getting_file );
    }
}

Anon7 - 2021