Differences From:
File
src/zip.c
part of check-in
[1ce0ac53ef]
- fixed a string memleak in baseline_zip_page()
by
stephan on
2008-02-12 00:31:48.
Also file
src/zip.c
part of check-in
[588bb7cd73]
- Merged to ed26056bb5.
by
aku on
2008-02-24 18:50:35.
[view]
To:
File
src/zip.c
part of check-in
[5fb14b9a0f]
- Include non-sym- tags in tagview web page. Also merge mainline into tagview branch.
by
eric on
2008-08-21 20:59:01.
Also file
src/zip.c
part of check-in
[81a96aadf3]
- Change CGI parameter name rid to uuid for the /zip URL.
by
cle on
2008-08-17 11:37:15.
[view]
@@ -352,30 +352,33 @@
** Return that ZIP archive as the HTTP reply content.
*/
void baseline_zip_page(void){
int rid;
- char *zName;
- int nName;
+ char *zName, *zRid;
+ int nName, nRid;
Blob zip;
login_check_credentials();
- if( !g.okRead || !g.okHistory ){ login_needed(); return; }
+ if( !g.okZip && (!g.okRead || !g.okHistory) ){ login_needed(); return; }
zName = mprintf("%s", PD("name",""));
nName = strlen(zName);
+ zRid = mprintf("%s", PD("uuid",""));
+ nRid = strlen(zRid);
for(nName=strlen(zName)-1; nName>5; nName--){
if( zName[nName]=='.' ){
zName[nName] = 0;
break;
}
}
- rid = name_to_rid(zName);
+ rid = name_to_rid(nRid?zRid:zName);
if( rid==0 ){
@ Not found
return;
}
- if( nName>10 ) zName[10] = 0;
+ if( nRid==0 && nName>10 ) zName[10] = 0;
zip_of_baseline(rid, &zip, zName);
free( zName );
+ free( zRid );
cgi_set_content(&zip);
cgi_set_content_type("application/zip");
cgi_reply();
}