@@ -1635,10 +1635,12 @@
1635 1635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void (*xDelete)(DiffBuilder*,const DLine*);
1636 1636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void (*xEdit)(DiffBuilder*,const DLine*,const DLine*);
1637 1637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void (*xEnd)(DiffBuilder*);
1638 1638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned int lnLeft; /* Lines seen on the left (delete) side */
1639 1639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned int lnRight; /* Lines seen on the right (insert) side */
1640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned int nPending; /* Number of pending lines */
1641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int eState; /* State of the output */
1640 1642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob *pOut; /* Output blob */
1641 1643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob aCol[5]; /* Holding blobs */
1642 1644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
1643 1645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1644 1646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/************************* DiffBuilderDebug ********************************/
@@ -1863,115 +1865,170 @@
1863 1865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1864 1866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/************************* DiffBuilderUnified********************************/
1865 1867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1866 1868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Accumulator strategy:
1867 1869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** * Common and Delete line numbers are output directly to p->pOut
1869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** * Common and Delete text accumulates in p->aCol[0].
1870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** * Pending insert lines numbers go into p->aCol[1].
1871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** * Pending insert text goes into p->aCol[2].
1870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Delete line numbers are output directly to p->pOut
1871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Insert line numbers accumulate in p->aCol[0].
1872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Separator marks accumulate in p->aCol[1].
1873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Change text accumulates in p->aCol[2].
1874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Pending insert line numbers go into p->aCol[3].
1875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** * Pending insert text goes into p->aCol[4].
1876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** eState is 1 if text has an open <del>
1872 1878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void dfunifiedEmitInsert(DiffBuilder *p){
1874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( blob_size(&p->aCol[1])==0 ) return;
1875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(p->pOut, blob_buffer(&p->aCol[1]), blob_size(&p->aCol[1]));
1876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&p->aCol[1]);
1877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], blob_buffer(&p->aCol[2]), blob_size(&p->aCol[2]));
1878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&p->aCol[2]);
1879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void dfunifiedFinishDelete(DiffBuilder *p){
1880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->eState==0 ) return;
1881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</del>", 6);
1882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "</del>", 6);
1883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->eState = 0;
1884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void dfunifiedFinishInsert(DiffBuilder *p){
1886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ unsigned int i;
1887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->nPending==0 ) return;
1888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishDelete(p);
1889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Blank lines for delete line numbers for each inserted line */
1891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<p->nPending; i++) blob_append_char(p->pOut, '\n');
1892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Insert line numbers */
1894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[0], "<ins>", 5);
1895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_xfer(&p->aCol[0], &p->aCol[3]);
1896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[0], "</ins>", 6);
1897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* "+" marks for the separator on inserted lines */
1899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<p->nPending; i++) blob_append(&p->aCol[1], "+\n", 2);
1900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Text of the inserted lines */
1902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "<ins>", 5);
1903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_xfer(&p->aCol[2], &p->aCol[4]);
1904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "</ins>", 6);
1905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nPending = 0;
1907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void dfunifiedFinishRow(DiffBuilder *p){
1909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishDelete(p);
1910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishInsert(p);
1911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_size(&p->aCol[0])==0 ) return;
1912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</pre></td><td class=\"diffln difflnr\"><pre>\n", -1);
1913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_xfer(p->pOut, &p->aCol[0]);
1914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</pre></td><td class=\"diffsep\"><pre>\n", -1);
1915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_xfer(p->pOut, &p->aCol[1]);
1916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</pre></td><td class=\"difftxt difftxtu\"><pre>\n",-1);
1917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_xfer(p->pOut, &p->aCol[2]);
1918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</pre></td></tr>\n", -1);
1919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void dfunifiedStartRow(DiffBuilder *p){
1921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_size(&p->aCol[0])>0 ) return;
1922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut,"<tr><td class=\"diffln difflnl\"><pre>\n", -1);
1923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->eState = 0;
1924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nPending = 0;
1879 1925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1880 1926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedSkip(DiffBuilder *p, unsigned int n, int isFinal){
1881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dfunifiedEmitInsert(p);
1927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishRow(p);
1882 1928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (p->lnLeft || p->lnRight) && !isFinal ){
1883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(p->pOut,
1884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "<span class=\"diffhr\">"
1885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ".................."
1886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "</span>\n",
1887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- -1);
1888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0],
1889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "<span class=\"diffhr\">"
1890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "..............................................................."
1891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "</span>\n",
1892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- -1);
1929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "<tr><td class=\"diffskip\" colspan=\"2\">"
1930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "<hr></td><td></td><td></td></tr>\n", -1);
1893 1931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1894 1932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnLeft += n;
1895 1933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnRight += n;
1896 1934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1897 1935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedCommon(DiffBuilder *p, const DLine *pLine){
1898 1936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iCol = 0;
1899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dfunifiedEmitInsert(p);
1937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedStartRow(p);
1938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishDelete(p);
1939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishInsert(p);
1900 1940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnLeft++;
1901 1941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnRight++;
1902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(p->pOut,"%6d %6d \n", p->lnLeft, p->lnRight);
1903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], " ", 2);
1904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[0], pLine->z, (int)pLine->n, &iCol);
1905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append_char(&p->aCol[0], '\n');
1942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(p->pOut,"%d\n", p->lnLeft);
1943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&p->aCol[0],"%d\n",p->lnRight);
1944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[1], '\n');
1945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[2], pLine->z, (int)pLine->n, &iCol);
1946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[2], '\n');
1906 1947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1907 1948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedInsert(DiffBuilder *p, const DLine *pLine){
1908 1949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iCol = 0;
1950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedStartRow(p);
1909 1951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnRight++;
1910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&p->aCol[1],"<ins> %6d </ins>\n", p->lnRight);
1911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2],"<ins>+ <mark>",-1);
1912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[2], pLine->z, (int)pLine->n, &iCol);
1913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2], "</mark></ins>\n", -1);
1952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&p->aCol[3],"%d\n", p->lnRight);
1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[4], "<ins>", 5);
1954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[4], pLine->z, (int)pLine->n, &iCol);
1955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[4], "</ins>\n", 7);
1956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nPending++;
1914 1957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1915 1958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedDelete(DiffBuilder *p, const DLine *pLine){
1916 1959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iCol = 0;
1960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedStartRow(p);
1961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishInsert(p);
1962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->eState==0 ){
1963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishInsert(p);
1964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "<del>", 5);
1965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "<del>", 5);
1966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->eState = 1;
1967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1917 1968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnLeft++;
1918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(p->pOut,"<del>%6d </del>\n", p->lnLeft);
1919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0],"<del>- <mark>",-1);
1920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[0], pLine->z, (int)pLine->n, &iCol);
1921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], "</mark></del>\n", -1);
1969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(p->pOut,"%d\n", p->lnLeft);
1970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[0],'\n');
1971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[1],"-\n",2);
1972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "<del>", 5);
1973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[2], pLine->z, (int)pLine->n, &iCol);
1974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "</del>\n", 7);
1922 1975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1923 1976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedEdit(DiffBuilder *p, const DLine *pX, const DLine *pY){
1924 1977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
1925 1978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int x;
1926 1979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iCol;
1927 1980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ChangeSpan span;
1928 1981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
oneLineChange(pX, pY, &span);
1982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedStartRow(p);
1983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->eState==0 ){
1984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishInsert(p);
1985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "<del>", 5);
1986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "<del>", 5);
1987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->eState = 1;
1988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1929 1989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnLeft++;
1930 1990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnRight++;
1931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(p->pOut,"<del>%6d </del>\n", p->lnLeft);
1932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], "<del>- ", -1);
1991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(p->pOut,"%d\n", p->lnLeft);
1992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[0], '\n');
1993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[1], "-\n", 2);
1994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1933 1995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=x=iCol=0; i<span.n; i++){
1934 1996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ofst = span.a[i].iStart1;
1935 1997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int len = span.a[i].iLen1;
1936 1998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( len ){
1937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[0], pX->z+x, ofst - x, &iCol);
1999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[2], pX->z+x, ofst - x, &iCol);
1938 2000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = ofst;
1939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], "<mark>", 6);
1940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[0], pX->z+x, len, &iCol);
2001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "<del>", 5);
2002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[2], pX->z+x, len, &iCol);
1941 2003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x += len;
1942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], "</mark>", 7);
2004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[2], "</del>", 6);
1943 2005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1944 2006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( x<pX->n ) jsonize_to_blob(&p->aCol[0], pX->z+x, pX->n - x, &iCol);
1946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[0], "</del>\n", -1);
1947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(&p->aCol[1],"<ins> %6d </ins>\n", p->lnRight);
1948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2], "<ins>+ ", -1);
2007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( x<pX->n ) jsonize_to_blob(&p->aCol[2], pX->z+x, pX->n - x, &iCol);
2008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[2], '\n');
2009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
2010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(&p->aCol[3],"%d\n", p->lnRight);
1949 2011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=x=iCol=0; i<span.n; i++){
1950 2012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ofst = span.a[i].iStart2;
1951 2013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int len = span.a[i].iLen2;
1952 2014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( len ){
1953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[2], pY->z+x, ofst - x, &iCol);
2015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[4], pY->z+x, ofst - x, &iCol);
1954 2016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = ofst;
1955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2], "<mark>", 6);
1956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- jsonize_to_blob(&p->aCol[2], pY->z+x, len, &iCol);
2017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[4], "<ins>", 5);
2018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ jsonize_to_blob(&p->aCol[4], pY->z+x, len, &iCol);
1957 2019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x += len;
1958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2], "</mark>", 7);
2020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(&p->aCol[4], "</ins>", 6);
1959 2021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1960 2022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( x<pY->n ) jsonize_to_blob(&p->aCol[2], pY->z+x, pY->n - x, &iCol);
1962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(&p->aCol[2], "</ins>\n", -1);
2023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( x<pY->n ) jsonize_to_blob(&p->aCol[4], pY->z+x, pY->n - x, &iCol);
2024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append_char(&p->aCol[4], '\n');
2025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nPending++;
1963 2026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1964 2027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void dfunifiedEnd(DiffBuilder *p){
1965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dfunifiedEmitInsert(p);
1966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(p->pOut,
1967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "</pre></td>\n"
1968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "<td class=\"udifftxt\" width=\"100%\"><pre class=\"udifftxt\">\n",
1969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- -1);
1970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(p->pOut, blob_buffer(&p->aCol[0]), blob_size(&p->aCol[0]));
1971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_reset(&p->aCol[0]);
1972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(p->pOut, "</pre></td></tr>\n</table>\n", -1);
2028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dfunifiedFinishRow(p);
2029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(p->pOut, "</table>\n",-1);
1973 2030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_free(p);
1974 2031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1975 2032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static DiffBuilder *dfunifiedNew(Blob *pOut){
1976 2033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
DiffBuilder *p = fossil_malloc(sizeof(*p));
1977 2034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->xSkip = dfunifiedSkip;
@@ -1979,18 +2036,19 @@
1979 2036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->xInsert = dfunifiedInsert;
1980 2037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->xDelete = dfunifiedDelete;
1981 2038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->xEdit = dfunifiedEdit;
1982 2039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->xEnd = dfunifiedEnd;
1983 2040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->lnLeft = p->lnRight = 0;
2041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->eState = 0;
2042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nPending = 0;
1984 2043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->pOut = pOut;
1985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_append(pOut,
1986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "<table class=\"sbsdiffcols\">\n"
1987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "<tr><td class=\"udiffln\"><pre class=\"udiffln\">\n",
1988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- -1);
2044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_append(pOut, "<table class=\"diff\">\n", -1);
1989 2045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&p->aCol[0], 0, 0);
1990 2046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&p->aCol[1], 0, 0);
1991 2047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&p->aCol[2], 0, 0);
2048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&p->aCol[3], 0, 0);
2049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&p->aCol[4], 0, 0);
1992 2050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return p;
1993 2051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1994 2052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/****************************************************************************/
1995 2053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1996 2054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1997 2055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!