Lines Matching refs:pState

40  * @param   pState              The diff state.
46 static void scmDiffPrintLines(PSCMDIFFSTATE pState, char chPrefix, PSCMSTREAM pStream, size_t iLine, size_t cLines)
54 RTStrmPutCh(pState->pDiff, chPrefix);
57 if (!pState->fSpecialChars)
58 RTStrmWrite(pState->pDiff, pchLine, cchLine);
66 RTStrmWrite(pState->pDiff, pchStart, pchTab - pchStart);
69 size_t cchTab = pState->cchTab - offVir % pState->cchTab;
72 case 1: RTStrmPutStr(pState->pDiff, "."); break;
73 case 2: RTStrmPutStr(pState->pDiff, ".."); break;
74 case 3: RTStrmPutStr(pState->pDiff, "[T]"); break;
75 case 4: RTStrmPutStr(pState->pDiff, "[TA]"); break;
76 case 5: RTStrmPutStr(pState->pDiff, "[TAB]"); break;
77 default: RTStrmPrintf(pState->pDiff, "[TAB%.*s]", cchTab - 5, g_szTabSpaces); break;
87 RTStrmWrite(pState->pDiff, pchStart, cchLeft);
91 if (!pState->fSpecialChars)
92 RTStrmPutCh(pState->pDiff, '\n');
94 RTStrmPutStr(pState->pDiff, "[LF]\n");
96 RTStrmPutStr(pState->pDiff, "[CRLF]\n");
98 RTStrmPutStr(pState->pDiff, "[NONE]\n");
110 * @returns New pState->cDiff value (just to return something).
111 * @param pState The diff state. The cDiffs member will be
120 static size_t scmDiffReport(PSCMDIFFSTATE pState, size_t cMatches,
129 size_t c = ScmStreamCountLines(pState->pLeft);
141 size_t c = ScmStreamCountLines(pState->pRight);
154 if (!pState->cDiffs)
155 RTStrmPrintf(pState->pDiff, "diff %s %s\n", pState->pszFilename, pState->pszFilename);
166 RTStrmPrintf(pState->pDiff, "%zu,%zu%c%zu,%zu\n", iLeft + 1, iLeft + cLeft, ch, iRight + 1, iRight + cRight);
168 RTStrmPrintf(pState->pDiff, "%zu,%zu%c%zu\n", iLeft + 1, iLeft + cLeft, ch, iRight + 1);
170 RTStrmPrintf(pState->pDiff, "%zu%c%zu,%zu\n", iLeft + 1, ch, iRight + 1, iRight + cRight);
172 RTStrmPrintf(pState->pDiff, "%zu%c%zu\n", iLeft + 1, ch, iRight + 1);
178 scmDiffPrintLines(pState, '<', pState->pLeft, iLeft, cLeft);
180 RTStrmPrintf(pState->pDiff, "---\n");
182 scmDiffPrintLines(pState, '>', pState->pRight, iRight, cRight);
187 ScmStreamSeekByLine(pState->pLeft, iLeft + cLeft + cMatches);
188 ScmStreamSeekByLine(pState->pRight, iRight + cRight + cMatches);
190 pState->cDiffs++;
191 return pState->cDiffs;
198 static bool scmDiffCompareSlow(PSCMDIFFSTATE pState,
202 if (pState->fIgnoreTrailingWhite)
210 if (pState->fIgnoreLeadingWhite)
219 || (enmEolLeft != enmEolRight && !pState->fIgnoreEol)
230 DECLINLINE(bool) scmDiffCompare(PSCMDIFFSTATE pState,
235 || (enmEolLeft != enmEolRight && !pState->fIgnoreEol)
238 if ( pState->fIgnoreTrailingWhite
239 || pState->fIgnoreLeadingWhite)
240 return scmDiffCompareSlow(pState,
252 * @param pState The diff state.
257 static bool scmDiffCompareLines(PSCMDIFFSTATE pState, size_t iLeft, size_t iRight, size_t cLines)
263 const char *pchLeft = ScmStreamGetLineByNo(pState->pLeft, iLeft + iLine, &cchLeft, &enmEolLeft);
267 const char *pchRight = ScmStreamGetLineByNo(pState->pRight, iRight + iLine, &cchRight, &enmEolRight);
269 if (!scmDiffCompare(pState, pchLeft, cchLeft, enmEolLeft, pchRight, cchRight, enmEolRight))
282 * @returns pState->cDiffs (just so we can use it in a return statement).
283 * @param pState The state.
287 static size_t scmDiffSynchronize(PSCMDIFFSTATE pState, size_t cMatches)
289 size_t const iStartLeft = ScmStreamTellLine(pState->pLeft) - 1;
290 size_t const iStartRight = ScmStreamTellLine(pState->pRight) - 1;
305 const char *pchLine = ScmStreamGetLineByNo(pState->pLeft, iStartLeft + iRange, &cchLine, &enmEol);
307 return scmDiffReport(pState, 0, iStartLeft, ~(size_t)0, iStartRight, ~(size_t)0);
313 const char *pchRight = ScmStreamGetLineByNo(pState->pRight, iStartRight + iRight,
315 if ( scmDiffCompare(pState, pchLine, cchLine, enmEol, pchRight, cchRight, enmEolRight)
316 && scmDiffCompareLines(pState,
321 return scmDiffReport(pState, cMatches,
330 pchLine = ScmStreamGetLineByNo(pState->pRight, iStartRight + iRange, &cchLine, &enmEol);
332 return scmDiffReport(pState, 0, iStartLeft, ~(size_t)0, iStartRight, ~(size_t)0);
338 const char *pchLeft = ScmStreamGetLineByNo(pState->pLeft, iStartLeft + iLeft,
340 if ( scmDiffCompare(pState, pchLeft, cchLeft, enmEolLeft, pchLine, cchLine, enmEol)
341 && scmDiffCompareLines(pState,
346 return scmDiffReport(pState, cMatches,