@@ -119,67 +119,41 @@ private function checkIfDiffInOld(array $diff)
119
119
*
120
120
* @return string
121
121
*/
122
- private function getBuffer (array $ diff , array $ old , $ start , $ end )
122
+ private function getBuffer ($ diff , $ old , $ start , $ end )
123
123
{
124
- $ buffer = $ this ->header ;
125
-
126
- if (!isset ($ old [$ start ])) {
127
- $ buffer = $ this ->getDiffBufferElementNew ($ diff , $ buffer , $ start );
128
- ++$ start ;
129
- }
130
-
124
+ $ newChunk = true ;
125
+ $ buffer = $ this ->header ;
131
126
for ($ i = $ start ; $ i < $ end ; $ i ++) {
132
127
if (isset ($ old [$ i ])) {
133
- $ i = $ old [$ i ];
134
- $ buffer = $ this ->getDiffBufferElementNew ($ diff , $ buffer , $ i );
135
- } else {
136
- $ buffer = $ this ->getDiffBufferElement ($ diff , $ buffer , $ i );
128
+ $ buffer .= "\n" ;
129
+ $ newChunk = true ;
130
+ $ i = $ old [$ i ];
137
131
}
132
+ $ buffer = $ this ->getDiffBufferElement ($ diff , $ i , $ newChunk , $ buffer );
133
+ $ newChunk = false ;
138
134
}
139
135
140
136
return $ buffer ;
141
137
}
142
138
143
- /**
144
- * Gets individual buffer element.
145
- *
146
- * @param array $diff
147
- * @param string $buffer
148
- * @param int $diffIndex
149
- *
150
- * @return string
151
- */
152
- private function getDiffBufferElement (array $ diff , $ buffer , $ diffIndex )
139
+ private function getDiffBufferElement ($ diff , $ i , $ newChunk , $ buffer )
153
140
{
154
- if ($ diff [$ diffIndex ][1 ] === 1 /* ADDED */ ) {
155
- $ buffer .= '+ ' . $ diff [$ diffIndex ][0 ] . "\n" ;
156
- } elseif ($ diff [$ diffIndex ][1 ] === 2 /* REMOVED */ ) {
157
- $ buffer .= '- ' . $ diff [$ diffIndex ][0 ] . "\n" ;
141
+ if ($ newChunk ) {
142
+ if ($ this ->showNonDiffLines === true ) {
143
+ $ buffer .= "@@ @@ \n" ;
144
+ }
145
+ }
146
+ if ($ diff [$ i ][1 ] === 1 /* ADDED */ ) {
147
+ $ buffer .= '+ ' . $ diff [$ i ][0 ] . "\n" ;
148
+ } elseif ($ diff [$ i ][1 ] === 2 /* REMOVED */ ) {
149
+ $ buffer .= '- ' . $ diff [$ i ][0 ] . "\n" ;
158
150
} elseif ($ this ->showNonDiffLines === true ) {
159
- $ buffer .= ' ' . $ diff [$ diffIndex ][0 ] . "\n" ;
151
+ $ buffer .= ' ' . $ diff [$ i ][0 ] . "\n" ;
160
152
}
161
153
162
154
return $ buffer ;
163
155
}
164
156
165
- /**
166
- * Gets individual buffer element with opening.
167
- *
168
- * @param array $diff
169
- * @param string $buffer
170
- * @param int $diffIndex
171
- *
172
- * @return string
173
- */
174
- private function getDiffBufferElementNew (array $ diff , $ buffer , $ diffIndex )
175
- {
176
- if ($ this ->showNonDiffLines === true ) {
177
- $ buffer .= "@@ @@ \n" ;
178
- }
179
-
180
- return $ this ->getDiffBufferElement ($ diff , $ buffer , $ diffIndex );
181
- }
182
-
183
157
/**
184
158
* Returns the diff between two arrays or strings as array.
185
159
*
0 commit comments