Fossil SCM

Don't treat IMG SRC and A HREF links beginning // as if they were paths.

dg 2013-02-05 23:10 dg-misc
Commit 5634879fbe5a9f96739ca16d0d0373a37aced6b3
1 file changed +3 -1
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -824,11 +824,12 @@
824824
blob_appendf(pOut, "<%s", aMarkup[p->iCode].zName);
825825
for(i=0; i<p->nAttr; i++){
826826
blob_appendf(pOut, " %s", aAttribute[p->aAttr[i].iACode].zName);
827827
if( p->aAttr[i].zValue ){
828828
const char *zVal = p->aAttr[i].zValue;
829
- if( p->aAttr[i].iACode==ATTR_SRC && zVal[0]=='/' ){
829
+ if( p->aAttr[i].iACode==ATTR_SRC && zVal[0]=='/'
830
+ && (zVal[0]==0 || zVal[1]!='/') ){
830831
blob_appendf(pOut, "=\"%s%s\"", g.zTop, zVal);
831832
}else{
832833
blob_appendf(pOut, "=\"%s\"", zVal);
833834
}
834835
}
@@ -1171,10 +1172,11 @@
11711172
assert( nClose>=20 );
11721173
if( strncmp(zTarget, "http:", 5)==0
11731174
|| strncmp(zTarget, "https:", 6)==0
11741175
|| strncmp(zTarget, "ftp:", 4)==0
11751176
|| strncmp(zTarget, "mailto:", 7)==0
1177
+ || strncmp(zTarget, "//", 2)==0
11761178
){
11771179
blob_appendf(p->pOut, "<a href=\"%s\">", zTarget);
11781180
}else if( zTarget[0]=='/' ){
11791181
blob_appendf(p->pOut, "<a href=\"%s%h\">", g.zTop, zTarget);
11801182
}else if( zTarget[0]=='.'
11811183
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -824,11 +824,12 @@
824 blob_appendf(pOut, "<%s", aMarkup[p->iCode].zName);
825 for(i=0; i<p->nAttr; i++){
826 blob_appendf(pOut, " %s", aAttribute[p->aAttr[i].iACode].zName);
827 if( p->aAttr[i].zValue ){
828 const char *zVal = p->aAttr[i].zValue;
829 if( p->aAttr[i].iACode==ATTR_SRC && zVal[0]=='/' ){
 
830 blob_appendf(pOut, "=\"%s%s\"", g.zTop, zVal);
831 }else{
832 blob_appendf(pOut, "=\"%s\"", zVal);
833 }
834 }
@@ -1171,10 +1172,11 @@
1171 assert( nClose>=20 );
1172 if( strncmp(zTarget, "http:", 5)==0
1173 || strncmp(zTarget, "https:", 6)==0
1174 || strncmp(zTarget, "ftp:", 4)==0
1175 || strncmp(zTarget, "mailto:", 7)==0
 
1176 ){
1177 blob_appendf(p->pOut, "<a href=\"%s\">", zTarget);
1178 }else if( zTarget[0]=='/' ){
1179 blob_appendf(p->pOut, "<a href=\"%s%h\">", g.zTop, zTarget);
1180 }else if( zTarget[0]=='.'
1181
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -824,11 +824,12 @@
824 blob_appendf(pOut, "<%s", aMarkup[p->iCode].zName);
825 for(i=0; i<p->nAttr; i++){
826 blob_appendf(pOut, " %s", aAttribute[p->aAttr[i].iACode].zName);
827 if( p->aAttr[i].zValue ){
828 const char *zVal = p->aAttr[i].zValue;
829 if( p->aAttr[i].iACode==ATTR_SRC && zVal[0]=='/'
830 && (zVal[0]==0 || zVal[1]!='/') ){
831 blob_appendf(pOut, "=\"%s%s\"", g.zTop, zVal);
832 }else{
833 blob_appendf(pOut, "=\"%s\"", zVal);
834 }
835 }
@@ -1171,10 +1172,11 @@
1172 assert( nClose>=20 );
1173 if( strncmp(zTarget, "http:", 5)==0
1174 || strncmp(zTarget, "https:", 6)==0
1175 || strncmp(zTarget, "ftp:", 4)==0
1176 || strncmp(zTarget, "mailto:", 7)==0
1177 || strncmp(zTarget, "//", 2)==0
1178 ){
1179 blob_appendf(p->pOut, "<a href=\"%s\">", zTarget);
1180 }else if( zTarget[0]=='/' ){
1181 blob_appendf(p->pOut, "<a href=\"%s%h\">", g.zTop, zTarget);
1182 }else if( zTarget[0]=='.'
1183

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button