protected static function findHeader(&$lines, &$src, &$dst)
	{
		// Get the current line
		$line = current($lines);

		// Search for the header
		while ($line !== false && !preg_match(self::SRC_FILE, $line, $m))
		{
			$line = next($lines);
		}

		if ($line === false)
		{
			// No header found, return false
			return false;
		}
		else
		{
			// Set the source file
			$src = $m[1];

			// Advance to the next line
			$line = next($lines);

			if ($line === false)
			{
				throw new \RuntimeException('Unexpected EOF');
			}

			// Search the destination file
			if (!preg_match(self::DST_FILE, $line, $m))
			{
				throw new \RuntimeException('Invalid Diff file');
			}

			// Set the destination file
			$dst = $m[1];

			// Advance to the next line
			if (next($lines) === false)
			{
				throw new \RuntimeException('Unexpected EOF');
			}

			return true;
		}
	}
protected static function findHeader(&$lines, &$src, &$dst)
	{
		// Get the current line
		$line = current($lines);

		// Search for the header
		while ($line !== false && !preg_match(self::SRC_FILE, $line, $m))
		{
			$line = next($lines);
		}

		if ($line === false)
		{
			// No header found, return false
			return false;
		}
		else
		{
			// Set the source file
			$src = $m[1];

			// Advance to the next line
			$line = next($lines);

			if ($line === false)
			{
				throw new \RuntimeException('Unexpected EOF');
			}

			// Search the destination file
			if (!preg_match(self::DST_FILE, $line, $m))
			{
				throw new \RuntimeException('Invalid Diff file');
			}

			// Set the destination file
			$dst = $m[1];

			// Advance to the next line
			if (next($lines) === false)
			{
				throw new \RuntimeException('Unexpected EOF');
			}

			return true;
		}
	}
protected static function findHeader ( & $ lines , & $ src , & $ dst ) { // Get the current line $ line = current ( $ lines ) ; // Search for the header while ( $ line !== false && ! preg_match ( self :: SRC_FILE , $ line , $ m ) ) { $ line = next ( $ lines ) ; } if ( $ line === false ) { // No header found, return false return false ; } else { // Set the source file $ src = $ m [ 1 ] ; // Advance to the next line $ line = next ( $ lines ) ; if ( $ line === false ) { throw new \ RuntimeException ( 'Unexpected EOF' ) ; } // Search the destination file if ( ! preg_match ( self :: DST_FILE , $ line , $ m ) ) { throw new \ RuntimeException ( 'Invalid Diff file' ) ; } // Set the destination file $ dst = $ m [ 1 ] ; // Advance to the next line if ( next ( $ lines ) === false ) { throw new \ RuntimeException ( 'Unexpected EOF' ) ; } return true ; } }
Find the diff header

The internal array pointer of $lines is on the next line after the finding

@param   array   &$lines  The udiff array of lines
@param   string  &$src    The source file
@param   string  &$dst    The destination file

@return  boolean  TRUE in case of success, FALSE in case of failure

@since   1.0
@throws  \RuntimeException
Find the diff header