Code Duplication    Length = 3-3 lines in 10 locations

3rdparty/getID3/getid3/module.tag.id3v2.php 10 locations

@@ 672-674 (lines=3) @@
669
				$frame_textencoding_terminator = "\x00";
670
			}
671
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
672
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
673
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
674
			}
675
			$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
676
			$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
677
			$parsedFrame['encodingid']  = $frame_textencoding;
@@ 764-766 (lines=3) @@
761
				$frame_textencoding_terminator = "\x00";
762
			}
763
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
764
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
765
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
766
			}
767
			$parsedFrame['encodingid']  = $frame_textencoding;
768
			$parsedFrame['encoding']    = $this->TextEncodingNameLookup($frame_textencoding);
769
			$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);           // according to the frame text encoding
@@ 990-992 (lines=3) @@
987
			$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
988
			$frame_offset += 3;
989
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
990
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
991
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
992
			}
993
			$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
994
			$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
995
			$parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
@@ 1051-1053 (lines=3) @@
1048
				if ($frame_terminatorpos === false) {
1049
					$frame_remainingdata = '';
1050
				} else {
1051
					if (ord(substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1052
						$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1053
					}
1054
					$parsedFrame['lyrics'][$timestampindex]['data'] = substr($frame_remainingdata, $frame_offset, $frame_terminatorpos - $frame_offset);
1055
1056
					$frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator));
@@ 1095-1097 (lines=3) @@
1092
				$frame_language = substr($parsedFrame['data'], $frame_offset, 3);
1093
				$frame_offset += 3;
1094
				$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1095
				if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1096
					$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1097
				}
1098
				$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1099
				$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
1100
				$frame_text = (string) substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator));
@@ 1397-1399 (lines=3) @@
1394
				$this->warning('data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset));
1395
			} else {
1396
				$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1397
				if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1398
					$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1399
				}
1400
				$parsedFrame['description']   = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1401
				$parsedFrame['description']   = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
1402
				$parsedFrame['encodingid']    = $frame_textencoding;
@@ 1510-1512 (lines=3) @@
1507
			$frame_offset = $frame_terminatorpos + strlen("\x00");
1508
1509
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1510
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1511
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1512
			}
1513
			$frame_filename = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1514
			if (ord($frame_filename) === 0) {
1515
				$frame_filename = '';
@@ 1520-1522 (lines=3) @@
1517
			$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
1518
1519
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1520
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1521
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1522
			}
1523
			$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1524
			$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
1525
			$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
@@ 1788-1790 (lines=3) @@
1785
			$frame_receivedasid = ord(substr($parsedFrame['data'], $frame_offset++, 1));
1786
1787
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1788
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1789
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1790
			}
1791
			$frame_sellername = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1792
			if (ord($frame_sellername) === 0) {
1793
				$frame_sellername = '';
@@ 1798-1800 (lines=3) @@
1795
			$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);
1796
1797
			$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset);
1798
			if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) {
1799
				$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00
1800
			}
1801
			$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset);
1802
			$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']);
1803
			$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator);