Fossil SCM

suggested fix for [5ff2043c96]

jan.nijtmans 2012-11-08 09:45 UTC trunk
Commit d1f16f718ab7489b9e63db67040e7e6fc1cbab6c
2 files changed +8 -2 +2 -2
+8 -2
--- src/style.c
+++ src/style.c
@@ -106,11 +106,14 @@
106106
va_list ap;
107107
va_start(ap, zFormat);
108108
zUrl = vmprintf(zFormat, ap);
109109
va_end(ap);
110110
if( g.perm.Hyperlink && !g.javascriptHyperlink ){
111
- return mprintf("<a href=\"%z\">", zUrl);
111
+ char *link = htmlize(zUrl, strlen(zUrl));
112
+ zUrl = mprintf("<a href=\"%z\">", link);
113
+ fossil_free(link);
114
+ return zUrl;
112115
}
113116
if( nHref>=nHrefAlloc ){
114117
nHrefAlloc = nHrefAlloc*2 + 10;
115118
aHref = fossil_realloc(aHref, nHrefAlloc*sizeof(aHref[0]));
116119
}
@@ -142,15 +145,18 @@
142145
const char *zTitle,
143146
const char *zLink,
144147
...
145148
){
146149
va_list ap;
150
+ char *link;
147151
assert( nSubmenu < sizeof(aSubmenu)/sizeof(aSubmenu[0]) );
148152
aSubmenu[nSubmenu].zLabel = zLabel;
149153
aSubmenu[nSubmenu].zTitle = zTitle;
150154
va_start(ap, zLink);
151
- aSubmenu[nSubmenu].zLink = vmprintf(zLink, ap);
155
+ link = vmprintf(zLink, ap);
156
+ aSubmenu[nSubmenu].zLink = htmlize(link, strlen(link));
157
+ fossil_free(link);
152158
va_end(ap);
153159
nSubmenu++;
154160
}
155161
156162
/*
157163
--- src/style.c
+++ src/style.c
@@ -106,11 +106,14 @@
106 va_list ap;
107 va_start(ap, zFormat);
108 zUrl = vmprintf(zFormat, ap);
109 va_end(ap);
110 if( g.perm.Hyperlink && !g.javascriptHyperlink ){
111 return mprintf("<a href=\"%z\">", zUrl);
 
 
 
112 }
113 if( nHref>=nHrefAlloc ){
114 nHrefAlloc = nHrefAlloc*2 + 10;
115 aHref = fossil_realloc(aHref, nHrefAlloc*sizeof(aHref[0]));
116 }
@@ -142,15 +145,18 @@
142 const char *zTitle,
143 const char *zLink,
144 ...
145 ){
146 va_list ap;
 
147 assert( nSubmenu < sizeof(aSubmenu)/sizeof(aSubmenu[0]) );
148 aSubmenu[nSubmenu].zLabel = zLabel;
149 aSubmenu[nSubmenu].zTitle = zTitle;
150 va_start(ap, zLink);
151 aSubmenu[nSubmenu].zLink = vmprintf(zLink, ap);
 
 
152 va_end(ap);
153 nSubmenu++;
154 }
155
156 /*
157
--- src/style.c
+++ src/style.c
@@ -106,11 +106,14 @@
106 va_list ap;
107 va_start(ap, zFormat);
108 zUrl = vmprintf(zFormat, ap);
109 va_end(ap);
110 if( g.perm.Hyperlink && !g.javascriptHyperlink ){
111 char *link = htmlize(zUrl, strlen(zUrl));
112 zUrl = mprintf("<a href=\"%z\">", link);
113 fossil_free(link);
114 return zUrl;
115 }
116 if( nHref>=nHrefAlloc ){
117 nHrefAlloc = nHrefAlloc*2 + 10;
118 aHref = fossil_realloc(aHref, nHrefAlloc*sizeof(aHref[0]));
119 }
@@ -142,15 +145,18 @@
145 const char *zTitle,
146 const char *zLink,
147 ...
148 ){
149 va_list ap;
150 char *link;
151 assert( nSubmenu < sizeof(aSubmenu)/sizeof(aSubmenu[0]) );
152 aSubmenu[nSubmenu].zLabel = zLabel;
153 aSubmenu[nSubmenu].zTitle = zTitle;
154 va_start(ap, zLink);
155 link = vmprintf(zLink, ap);
156 aSubmenu[nSubmenu].zLink = htmlize(link, strlen(link));
157 fossil_free(link);
158 va_end(ap);
159 nSubmenu++;
160 }
161
162 /*
163
+2 -2
--- src/timeline.c
+++ src/timeline.c
@@ -373,11 +373,11 @@
373373
/* Generate the "user: USERNAME" at the end of the comment, together
374374
** with a hyperlink to another timeline for that user.
375375
*/
376376
if( zTagList && zTagList[0]==0 ) zTagList = 0;
377377
if( g.perm.Hyperlink && fossil_strcmp(zUser, zThisUser)!=0 ){
378
- char *zLink = mprintf("%R/timeline?u=%h&amp;c=%t&amp;nd", zUser, zDate);
378
+ char *zLink = mprintf("%R/timeline?u=%h&c=%t&amp;nd", zUser, zDate);
379379
@ (user: %z(href("%z",zLink))%h(zUser)</a>%s(zTagList?",":"\051")
380380
}else{
381381
@ (user: %h(zUser)%s(zTagList?",":"\051")
382382
}
383383
@@ -398,11 +398,11 @@
398398
while( z && z[0] ){
399399
for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){}
400400
if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){
401401
blob_appendf(&links,
402402
"%z%#h</a>%.2s",
403
- href("%R/timeline?r=%#t&amp;nd&amp;c=%t",i,z,zDate), i,z, &z[i]
403
+ href("%R/timeline?r=%#t&nd&c=%t",i,z,zDate), i,z, &z[i]
404404
);
405405
}else{
406406
blob_appendf(&links, "%#h", i+2, z);
407407
}
408408
if( z[i]==0 ) break;
409409
--- src/timeline.c
+++ src/timeline.c
@@ -373,11 +373,11 @@
373 /* Generate the "user: USERNAME" at the end of the comment, together
374 ** with a hyperlink to another timeline for that user.
375 */
376 if( zTagList && zTagList[0]==0 ) zTagList = 0;
377 if( g.perm.Hyperlink && fossil_strcmp(zUser, zThisUser)!=0 ){
378 char *zLink = mprintf("%R/timeline?u=%h&amp;c=%t&amp;nd", zUser, zDate);
379 @ (user: %z(href("%z",zLink))%h(zUser)</a>%s(zTagList?",":"\051")
380 }else{
381 @ (user: %h(zUser)%s(zTagList?",":"\051")
382 }
383
@@ -398,11 +398,11 @@
398 while( z && z[0] ){
399 for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){}
400 if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){
401 blob_appendf(&links,
402 "%z%#h</a>%.2s",
403 href("%R/timeline?r=%#t&amp;nd&amp;c=%t",i,z,zDate), i,z, &z[i]
404 );
405 }else{
406 blob_appendf(&links, "%#h", i+2, z);
407 }
408 if( z[i]==0 ) break;
409
--- src/timeline.c
+++ src/timeline.c
@@ -373,11 +373,11 @@
373 /* Generate the "user: USERNAME" at the end of the comment, together
374 ** with a hyperlink to another timeline for that user.
375 */
376 if( zTagList && zTagList[0]==0 ) zTagList = 0;
377 if( g.perm.Hyperlink && fossil_strcmp(zUser, zThisUser)!=0 ){
378 char *zLink = mprintf("%R/timeline?u=%h&c=%t&amp;nd", zUser, zDate);
379 @ (user: %z(href("%z",zLink))%h(zUser)</a>%s(zTagList?",":"\051")
380 }else{
381 @ (user: %h(zUser)%s(zTagList?",":"\051")
382 }
383
@@ -398,11 +398,11 @@
398 while( z && z[0] ){
399 for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){}
400 if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){
401 blob_appendf(&links,
402 "%z%#h</a>%.2s",
403 href("%R/timeline?r=%#t&nd&c=%t",i,z,zDate), i,z, &z[i]
404 );
405 }else{
406 blob_appendf(&links, "%#h", i+2, z);
407 }
408 if( z[i]==0 ) break;
409

Keyboard Shortcuts

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