* The file must be seekable, such as local filesystem.
* Remote URLs probably won't work.
*
- * @param string $filename
+ * @param $filename String
*/
function open( $filename ) {
$this->valid = false;
/**
* Does this appear to be a valid MacBinary archive?
- * @return bool
+ *
+ * @return Boolean
*/
function isValid() {
return $this->valid;
/**
* Get length of data fork
- * @return int
+ *
+ * @return Integer
*/
function dataForkLength() {
return $this->dataLength;
/**
* Copy the data fork to an external file or resource.
- * @param resource $destination
- * @return bool
+ *
+ * @param $destination Ressource
+ * @return Boolean
*/
function extractData( $destination ) {
if( !$this->isValid() ) {
return false;
}
- if( $head{0} != "\x00" || $head{74} != "\x00" ) {
+ if( $head[0] != "\x00" || $head[74] != "\x00" ) {
wfDebug( "$fname: header bytes 0 and 74 not null\n" );
return false;
}
}
} else {
$crc = sprintf( "%x != %x", $storedCRC, $calculatedCRC );
- if( $storedCRC == 0 && $head{82} == "\x00" &&
+ if( $storedCRC == 0 && $head[82] == "\x00" &&
substr( $head, 101, 24 ) == str_repeat( "\x00", 24 ) ) {
wfDebug( "$fname: no CRC, looks like MacBinary I\n" );
$this->version = 1;
}
}
- $nameLength = ord( $head{1} );
+ $nameLength = ord( $head[1] );
if( $nameLength < 1 || $nameLength > 63 ) {
wfDebug( "$fname: invalid filename size $nameLength\n" );
return false;
* with magic array thingy by Jim Van Verth.
* http://search.cpan.org/~eryq/Convert-BinHex-1.119/lib/Convert/BinHex.pm
*
- * @param string $data
- * @param int $seed
- * @return int
+ * @param $data String
+ * @param $seed Integer
+ * @return Integer
* @access private
*/
function calcCRC( $data, $seed = 0 ) {
$len = strlen( $data );
$crc = $seed;
for( $i = 0; $i < $len; $i++ ) {
- $crc ^= ord( $data{$i} ) << 8;
+ $crc ^= ord( $data[$i] ) << 8;
$crc &= 0xFFFF;
$crc = ($crc << 8) ^ $MAGIC[$crc >> 8];
$crc &= 0xFFFF;
}
/**
- * @param resource $destination
- * @param int $bytesToCopy
- * @return bool
+ * @param $destination Resource
+ * @param $bytesToCopy Integer
+ * @return Boolean
* @access private
*/
function copyBytesTo( $destination, $bytesToCopy ) {
$line = sprintf( "%04x:", $at );
$printable = '';
for( $i = 0; $i < $width && $remaining - $i > 0; $i++ ) {
- $byte = ord( $data{$at++} );
+ $byte = ord( $data[$at++] );
$line .= sprintf( " %02x", $byte );
$printable .= ($byte >= 32 && $byte <= 126 )
? chr( $byte )