@@ -51,22 +51,23 @@
51 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define ATTR_FACE 12
52 52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define ATTR_HEIGHT 13
53 53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define ATTR_HREF 14
54 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define ATTR_HSPACE 15
55 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define ATTR_ID 16
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_NAME 17
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_ROWSPAN 18
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_SIZE 19
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_SRC 20
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_START 21
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_STYLE 22
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_TARGET 23
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_TYPE 24
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_VALIGN 25
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_VALUE 26
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_VSPACE 27
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define ATTR_WIDTH 28
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_LINKS 17
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_NAME 18
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_ROWSPAN 19
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_SIZE 20
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_SRC 21
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_START 22
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_STYLE 23
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_TARGET 24
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_TYPE 25
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_VALIGN 26
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_VALUE 27
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_VSPACE 28
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define ATTR_WIDTH 29
68 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_ALIGN 0x00000001
69 70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_ALT 0x00000002
70 71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_BGCOLOR 0x00000004
71 72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_BORDER 0x00000008
72 73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_CELLPADDING 0x00000010
@@ -79,22 +80,23 @@
79 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_FACE 0x00000800
80 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_HEIGHT 0x00001000
81 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_HREF 0x00002000
82 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_HSPACE 0x00004000
83 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AMSK_ID 0x00008000
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_NAME 0x00010000
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_ROWSPAN 0x00020000
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_SIZE 0x00040000
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_SRC 0x00080000
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_START 0x00100000
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_STYLE 0x00200000
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_TARGET 0x00400000
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_TYPE 0x00800000
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_VALIGN 0x01000000
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_VALUE 0x02000000
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_VSPACE 0x04000000
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define AMSK_WIDTH 0x08000000
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_LINKS 0x00010000
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_NAME 0x00020000
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_ROWSPAN 0x00040000
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_SIZE 0x00080000
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_SRC 0x00100000
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_START 0x00200000
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_STYLE 0x00400000
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_TARGET 0x00800000
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_TYPE 0x01000000
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_VALIGN 0x02000000
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_VALUE 0x04000000
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_VSPACE 0x08000000
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AMSK_WIDTH 0x10000000
96 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
97 99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static const struct AllowedAttribute {
98 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName;
99 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned int iMask;
100 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} aAttribute[] = {
@@ -113,10 +115,11 @@
113 115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "face", AMSK_FACE, },
114 116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "height", AMSK_HEIGHT, },
115 117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "href", AMSK_HREF, },
116 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "hspace", AMSK_HSPACE, },
117 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "id", AMSK_ID, },
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ { "links", AMSK_LINKS, },
118 121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "name", AMSK_NAME, },
119 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "rowspan", AMSK_ROWSPAN, },
120 123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "size", AMSK_SIZE, },
121 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "src", AMSK_SRC, },
122 125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ "start", AMSK_START, },
@@ -438,11 +441,11 @@
438 441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n = 1;
439 442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int inparen = 0;
440 443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int c;
441 444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( z[n]=='/' ){ n++; }
442 445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !fossil_isalpha(z[n]) ) return 0;
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( fossil_isalnum(z[n]) ){ n++; }
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( fossil_isalnum(z[n]) || z[n]=='-' ){ n++; }
444 447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
c = z[n];
445 448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c=='/' && z[n+1]=='>' ){ return n+2; }
446 449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c!='>' && !fossil_isspace(c) ) return 0;
447 450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (c = z[n])!=0 && (c!='>' || inparen) ){
448 451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c==inparen ){
@@ -750,12 +753,23 @@
750 753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
751 754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTag[j] = 0;
752 755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->iCode = findTag(zTag);
753 756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->iType = aMarkup[p->iCode].iType;
754 757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->nAttr = 0;
758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ c = 0;
759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( z[i]=='-' ){
760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->aAttr[0].iACode = iACode = ATTR_ID;
761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ i++;
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->aAttr[0].zValue = &z[i];
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( fossil_isalnum(z[i]) ){ i++; }
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->aAttr[0].cTerm = c = z[i];
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z[i++] = 0;
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->nAttr = 1;
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( c=='>' ) return;
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
755 769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( fossil_isspace(z[i]) ){ i++; }
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( p->nAttr<8 && fossil_isalpha(z[i]) ){
770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( c!='>' && p->nAttr<8 && fossil_isalpha(z[i]) ){
757 771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int attrOk; /* True to preserver attribute. False to ignore it */
758 772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
j = 0;
759 773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( fossil_isalnum(z[i]) ){
760 774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( j<sizeof(zTag)-1 ) zTag[j++] = fossil_tolower(z[i]);
761 775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i++;
@@ -1433,13 +1447,12 @@
1433 1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zId;
1434 1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iDiv;
1435 1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
parseMarkup(&markup, z);
1436 1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1437 1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Markup of the form </div id=ID> where there is a matching
1438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** ID somewhere on the stack. Exit the verbatim if were are in
1439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** it. Pop the stack up to the matching <div>. Discard the
1440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** </div>
1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ID somewhere on the stack. Exit any contained verbatim.
1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Pop the stack up to the matching <div>. Discard the </div>
1441 1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1442 1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( markup.iCode==MARKUP_DIV && markup.endTag &&
1443 1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(zId = markupId(&markup))!=0 &&
1444 1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(iDiv = findTagWithId(p, MARKUP_DIV, zId))>=0
1445 1458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
@@ -1527,18 +1540,17 @@
1527 1540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->preVerbState = p->state;
1528 1541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->state &= ~ALLOW_WIKI;
1529 1542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(ii=0; ii<markup.nAttr; ii++){
1530 1543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( markup.aAttr[ii].iACode == ATTR_ID ){
1531 1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->zVerbatimId = markup.aAttr[ii].zValue;
1532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( markup.aAttr[ii].iACode == ATTR_TYPE ){
1533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( fossil_stricmp(markup.aAttr[ii].zValue, "allow-links")==0 ){
1534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->state |= ALLOW_LINKS;
1535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
1536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_appendf(p->pOut, "<pre name='code' class='%s'>",
1537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- markup.aAttr[ii].zValue);
1538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- vAttrDidAppend=1;
1539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( markup.aAttr[ii].iACode==ATTR_TYPE ){
1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendf(p->pOut, "<pre name='code' class='%s'>",
1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ markup.aAttr[ii].zValue);
1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vAttrDidAppend=1;
1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( markup.aAttr[ii].iACode==ATTR_LINKS
1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && !is_false(markup.aAttr[ii].zValue) ){
1551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->state |= ALLOW_LINKS;
1540 1552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1541 1553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1542 1554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !vAttrDidAppend ) {
1543 1555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
endAutoParagraph(p);
1544 1556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(p->pOut, "<pre class='verbatim'>",-1);
1545 1557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!