Fossil SCM
Fixed y=all arg for timeline.rss (broken in [cb651568fbfe6]) and renamed a shadowed variable, both problems reported in [forum:d48f7f12656a291f|forum post d48f7f12656a291f].
Commit
8903d1ebe079f091fb62aa9787ab1ba5bc4200672a1c1cb7d464117a849be7aa
Parent
12ac6727e1a0f25…
1 file changed
+13
-12
+13
-12
| --- src/rss.c | ||
| +++ src/rss.c | ||
| @@ -75,33 +75,33 @@ | ||
| 75 | 75 | if( !g.perm.Read && !g.perm.RdTkt && !g.perm.RdWiki ){ |
| 76 | 76 | return; |
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | blob_zero(&bSQL); |
| 80 | - blob_append( &bSQL, zSQL1, -1 ); | |
| 80 | + blob_append_sql( &bSQL, "%s", zSQL1/*safe-for-%s*/ ); | |
| 81 | 81 | |
| 82 | 82 | if( zType[0]!='a' ){ |
| 83 | 83 | if( zType[0]=='c' && !g.perm.Read ) zType = "x"; |
| 84 | 84 | if( zType[0]=='w' && !g.perm.RdWiki ) zType = "x"; |
| 85 | 85 | if( zType[0]=='t' && !g.perm.RdTkt ) zType = "x"; |
| 86 | 86 | if( zType[0]=='f' && !g.perm.RdForum ) zType = "x"; |
| 87 | 87 | blob_append_sql(&bSQL, " AND event.type=%Q", zType); |
| 88 | 88 | }else{ |
| 89 | - blob_append(&bSQL, " AND event.type in (", -1); | |
| 89 | + blob_append_sql(&bSQL, " AND event.type in ("); | |
| 90 | 90 | if( g.perm.Read ){ |
| 91 | - blob_append(&bSQL, "'ci',", 4); | |
| 91 | + blob_append_sql(&bSQL, "'ci',"); | |
| 92 | 92 | } |
| 93 | 93 | if( g.perm.RdTkt ){ |
| 94 | - blob_append(&bSQL, "'t',", 4); | |
| 94 | + blob_append_sql(&bSQL, "'t',"); | |
| 95 | 95 | } |
| 96 | 96 | if( g.perm.RdWiki ){ |
| 97 | - blob_append(&bSQL, "'w',", 4); | |
| 97 | + blob_append_sql(&bSQL, "'w',"); | |
| 98 | 98 | } |
| 99 | 99 | if( g.perm.RdForum ){ |
| 100 | - blob_append(&bSQL, "'f',", -1); | |
| 100 | + blob_append_sql(&bSQL, "'f',"); | |
| 101 | 101 | } |
| 102 | - blob_append(&bSQL, "'x')", 4); | |
| 102 | + blob_append_sql(&bSQL, "'x')"); | |
| 103 | 103 | } |
| 104 | 104 | |
| 105 | 105 | if( zTicketUuid ){ |
| 106 | 106 | nTagId = db_int(0, "SELECT tagid FROM tag WHERE tagname GLOB 'tkt-%q*'", |
| 107 | 107 | zTicketUuid); |
| @@ -131,16 +131,17 @@ | ||
| 131 | 131 | " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid))", nTagId); |
| 132 | 132 | } |
| 133 | 133 | |
| 134 | 134 | if( zFilename ){ |
| 135 | 135 | blob_append_sql(&bSQL, |
| 136 | - " AND (SELECT mlink.fnid FROM mlink WHERE event.objid=mlink.mid) IN (SELECT fnid FROM filename WHERE name=%Q %s)", | |
| 136 | + " AND (SELECT mlink.fnid FROM mlink WHERE event.objid=mlink.mid) " | |
| 137 | + " IN (SELECT fnid FROM filename WHERE name=%Q %s)", | |
| 137 | 138 | zFilename, filename_collation() |
| 138 | 139 | ); |
| 139 | 140 | } |
| 140 | 141 | |
| 141 | - blob_append( &bSQL, " ORDER BY event.mtime DESC", -1 ); | |
| 142 | + blob_append_sql( &bSQL, " ORDER BY event.mtime DESC" ); | |
| 142 | 143 | |
| 143 | 144 | cgi_set_content_type("application/rss+xml"); |
| 144 | 145 | |
| 145 | 146 | zProjectName = db_get("project-name", 0); |
| 146 | 147 | if( zProjectName==0 ){ |
| @@ -165,11 +166,11 @@ | ||
| 165 | 166 | free(zPubDate); |
| 166 | 167 | db_prepare(&q, "%s", blob_sql_text(&bSQL)); |
| 167 | 168 | blob_reset( &bSQL ); |
| 168 | 169 | while( db_step(&q)==SQLITE_ROW && nLine<nLimit ){ |
| 169 | 170 | const char *zId = db_column_text(&q, 1); |
| 170 | - const char *zType = db_column_text(&q, 3); | |
| 171 | + const char *zEType = db_column_text(&q, 3); | |
| 171 | 172 | const char *zCom = db_column_text(&q, 4); |
| 172 | 173 | const char *zAuthor = db_column_text(&q, 5); |
| 173 | 174 | char *zPrefix = ""; |
| 174 | 175 | char *zSuffix = 0; |
| 175 | 176 | char *zDate; |
| @@ -180,19 +181,19 @@ | ||
| 180 | 181 | |
| 181 | 182 | if( zTagList && zTagList[0]==0 ) zTagList = 0; |
| 182 | 183 | ts = (time_t)((db_column_double(&q,2) - 2440587.5)*86400.0); |
| 183 | 184 | zDate = cgi_rfc822_datestamp(ts); |
| 184 | 185 | |
| 185 | - if('c'==zType[0]){ | |
| 186 | + if('c'==zEType[0]){ | |
| 186 | 187 | if( nParent>1 && nChild>1 ){ |
| 187 | 188 | zPrefix = "*MERGE/FORK* "; |
| 188 | 189 | }else if( nParent>1 ){ |
| 189 | 190 | zPrefix = "*MERGE* "; |
| 190 | 191 | }else if( nChild>1 ){ |
| 191 | 192 | zPrefix = "*FORK* "; |
| 192 | 193 | } |
| 193 | - }else if('w'==zType[0]){ | |
| 194 | + }else if('w'==zEType[0]){ | |
| 194 | 195 | switch(zCom ? zCom[0] : 0){ |
| 195 | 196 | case ':': zPrefix = "Edit wiki page: "; break; |
| 196 | 197 | case '+': zPrefix = "Add wiki page: "; break; |
| 197 | 198 | case '-': zPrefix = "Delete wiki page: "; break; |
| 198 | 199 | } |
| 199 | 200 |
| --- src/rss.c | |
| +++ src/rss.c | |
| @@ -75,33 +75,33 @@ | |
| 75 | if( !g.perm.Read && !g.perm.RdTkt && !g.perm.RdWiki ){ |
| 76 | return; |
| 77 | } |
| 78 | |
| 79 | blob_zero(&bSQL); |
| 80 | blob_append( &bSQL, zSQL1, -1 ); |
| 81 | |
| 82 | if( zType[0]!='a' ){ |
| 83 | if( zType[0]=='c' && !g.perm.Read ) zType = "x"; |
| 84 | if( zType[0]=='w' && !g.perm.RdWiki ) zType = "x"; |
| 85 | if( zType[0]=='t' && !g.perm.RdTkt ) zType = "x"; |
| 86 | if( zType[0]=='f' && !g.perm.RdForum ) zType = "x"; |
| 87 | blob_append_sql(&bSQL, " AND event.type=%Q", zType); |
| 88 | }else{ |
| 89 | blob_append(&bSQL, " AND event.type in (", -1); |
| 90 | if( g.perm.Read ){ |
| 91 | blob_append(&bSQL, "'ci',", 4); |
| 92 | } |
| 93 | if( g.perm.RdTkt ){ |
| 94 | blob_append(&bSQL, "'t',", 4); |
| 95 | } |
| 96 | if( g.perm.RdWiki ){ |
| 97 | blob_append(&bSQL, "'w',", 4); |
| 98 | } |
| 99 | if( g.perm.RdForum ){ |
| 100 | blob_append(&bSQL, "'f',", -1); |
| 101 | } |
| 102 | blob_append(&bSQL, "'x')", 4); |
| 103 | } |
| 104 | |
| 105 | if( zTicketUuid ){ |
| 106 | nTagId = db_int(0, "SELECT tagid FROM tag WHERE tagname GLOB 'tkt-%q*'", |
| 107 | zTicketUuid); |
| @@ -131,16 +131,17 @@ | |
| 131 | " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid))", nTagId); |
| 132 | } |
| 133 | |
| 134 | if( zFilename ){ |
| 135 | blob_append_sql(&bSQL, |
| 136 | " AND (SELECT mlink.fnid FROM mlink WHERE event.objid=mlink.mid) IN (SELECT fnid FROM filename WHERE name=%Q %s)", |
| 137 | zFilename, filename_collation() |
| 138 | ); |
| 139 | } |
| 140 | |
| 141 | blob_append( &bSQL, " ORDER BY event.mtime DESC", -1 ); |
| 142 | |
| 143 | cgi_set_content_type("application/rss+xml"); |
| 144 | |
| 145 | zProjectName = db_get("project-name", 0); |
| 146 | if( zProjectName==0 ){ |
| @@ -165,11 +166,11 @@ | |
| 165 | free(zPubDate); |
| 166 | db_prepare(&q, "%s", blob_sql_text(&bSQL)); |
| 167 | blob_reset( &bSQL ); |
| 168 | while( db_step(&q)==SQLITE_ROW && nLine<nLimit ){ |
| 169 | const char *zId = db_column_text(&q, 1); |
| 170 | const char *zType = db_column_text(&q, 3); |
| 171 | const char *zCom = db_column_text(&q, 4); |
| 172 | const char *zAuthor = db_column_text(&q, 5); |
| 173 | char *zPrefix = ""; |
| 174 | char *zSuffix = 0; |
| 175 | char *zDate; |
| @@ -180,19 +181,19 @@ | |
| 180 | |
| 181 | if( zTagList && zTagList[0]==0 ) zTagList = 0; |
| 182 | ts = (time_t)((db_column_double(&q,2) - 2440587.5)*86400.0); |
| 183 | zDate = cgi_rfc822_datestamp(ts); |
| 184 | |
| 185 | if('c'==zType[0]){ |
| 186 | if( nParent>1 && nChild>1 ){ |
| 187 | zPrefix = "*MERGE/FORK* "; |
| 188 | }else if( nParent>1 ){ |
| 189 | zPrefix = "*MERGE* "; |
| 190 | }else if( nChild>1 ){ |
| 191 | zPrefix = "*FORK* "; |
| 192 | } |
| 193 | }else if('w'==zType[0]){ |
| 194 | switch(zCom ? zCom[0] : 0){ |
| 195 | case ':': zPrefix = "Edit wiki page: "; break; |
| 196 | case '+': zPrefix = "Add wiki page: "; break; |
| 197 | case '-': zPrefix = "Delete wiki page: "; break; |
| 198 | } |
| 199 |
| --- src/rss.c | |
| +++ src/rss.c | |
| @@ -75,33 +75,33 @@ | |
| 75 | if( !g.perm.Read && !g.perm.RdTkt && !g.perm.RdWiki ){ |
| 76 | return; |
| 77 | } |
| 78 | |
| 79 | blob_zero(&bSQL); |
| 80 | blob_append_sql( &bSQL, "%s", zSQL1/*safe-for-%s*/ ); |
| 81 | |
| 82 | if( zType[0]!='a' ){ |
| 83 | if( zType[0]=='c' && !g.perm.Read ) zType = "x"; |
| 84 | if( zType[0]=='w' && !g.perm.RdWiki ) zType = "x"; |
| 85 | if( zType[0]=='t' && !g.perm.RdTkt ) zType = "x"; |
| 86 | if( zType[0]=='f' && !g.perm.RdForum ) zType = "x"; |
| 87 | blob_append_sql(&bSQL, " AND event.type=%Q", zType); |
| 88 | }else{ |
| 89 | blob_append_sql(&bSQL, " AND event.type in ("); |
| 90 | if( g.perm.Read ){ |
| 91 | blob_append_sql(&bSQL, "'ci',"); |
| 92 | } |
| 93 | if( g.perm.RdTkt ){ |
| 94 | blob_append_sql(&bSQL, "'t',"); |
| 95 | } |
| 96 | if( g.perm.RdWiki ){ |
| 97 | blob_append_sql(&bSQL, "'w',"); |
| 98 | } |
| 99 | if( g.perm.RdForum ){ |
| 100 | blob_append_sql(&bSQL, "'f',"); |
| 101 | } |
| 102 | blob_append_sql(&bSQL, "'x')"); |
| 103 | } |
| 104 | |
| 105 | if( zTicketUuid ){ |
| 106 | nTagId = db_int(0, "SELECT tagid FROM tag WHERE tagname GLOB 'tkt-%q*'", |
| 107 | zTicketUuid); |
| @@ -131,16 +131,17 @@ | |
| 131 | " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid))", nTagId); |
| 132 | } |
| 133 | |
| 134 | if( zFilename ){ |
| 135 | blob_append_sql(&bSQL, |
| 136 | " AND (SELECT mlink.fnid FROM mlink WHERE event.objid=mlink.mid) " |
| 137 | " IN (SELECT fnid FROM filename WHERE name=%Q %s)", |
| 138 | zFilename, filename_collation() |
| 139 | ); |
| 140 | } |
| 141 | |
| 142 | blob_append_sql( &bSQL, " ORDER BY event.mtime DESC" ); |
| 143 | |
| 144 | cgi_set_content_type("application/rss+xml"); |
| 145 | |
| 146 | zProjectName = db_get("project-name", 0); |
| 147 | if( zProjectName==0 ){ |
| @@ -165,11 +166,11 @@ | |
| 166 | free(zPubDate); |
| 167 | db_prepare(&q, "%s", blob_sql_text(&bSQL)); |
| 168 | blob_reset( &bSQL ); |
| 169 | while( db_step(&q)==SQLITE_ROW && nLine<nLimit ){ |
| 170 | const char *zId = db_column_text(&q, 1); |
| 171 | const char *zEType = db_column_text(&q, 3); |
| 172 | const char *zCom = db_column_text(&q, 4); |
| 173 | const char *zAuthor = db_column_text(&q, 5); |
| 174 | char *zPrefix = ""; |
| 175 | char *zSuffix = 0; |
| 176 | char *zDate; |
| @@ -180,19 +181,19 @@ | |
| 181 | |
| 182 | if( zTagList && zTagList[0]==0 ) zTagList = 0; |
| 183 | ts = (time_t)((db_column_double(&q,2) - 2440587.5)*86400.0); |
| 184 | zDate = cgi_rfc822_datestamp(ts); |
| 185 | |
| 186 | if('c'==zEType[0]){ |
| 187 | if( nParent>1 && nChild>1 ){ |
| 188 | zPrefix = "*MERGE/FORK* "; |
| 189 | }else if( nParent>1 ){ |
| 190 | zPrefix = "*MERGE* "; |
| 191 | }else if( nChild>1 ){ |
| 192 | zPrefix = "*FORK* "; |
| 193 | } |
| 194 | }else if('w'==zEType[0]){ |
| 195 | switch(zCom ? zCom[0] : 0){ |
| 196 | case ':': zPrefix = "Edit wiki page: "; break; |
| 197 | case '+': zPrefix = "Add wiki page: "; break; |
| 198 | case '-': zPrefix = "Delete wiki page: "; break; |
| 199 | } |
| 200 |