- client: error if a <file_info> in app_info.xml has any URLs

- client: don't write file_infos with no URLs to client_state.xml
    for anon platform project; they must be from app_info.xml

svn path=/trunk/boinc/; revision=18592
This commit is contained in:
David Anderson 2009-07-09 20:18:56 +00:00
parent 114ba8111d
commit 4338a5f856
3 changed files with 33 additions and 4 deletions

View File

@ -6220,3 +6220,13 @@ Charlie 8 July 2009
GR-ReadMe.rtf
PTP-ReadMe.rtf (added)
ReadMe.rtf
David 9 July 2009
- client: error if a <file_info> in app_info.xml has any URLs
- client: don't write file_infos with no URLs to client_state.xml
for anon platform project; they must be from app_info.xml
client/
cs_statefile.cpp
sched/
assimilate_handler.h

View File

@ -621,10 +621,15 @@ int CLIENT_STATE::write_state(MIOFILE& f) {
}
}
for (i=0; i<file_infos.size(); i++) {
if (file_infos[i]->project == p) {
retval = file_infos[i]->write(f, false);
if (retval) return retval;
if (file_infos[i]->project != p) continue;
FILE_INFO* fip = file_infos[i];
// don't write file infos for anonymous platform app files
//
if (p->anonymous_platform && (fip->urls.size()==0)) {
continue;
}
retval = fip->write(f, false);
if (retval) return retval;
}
for (i=0; i<app_versions.size(); i++) {
if (app_versions[i]->project == p) {
@ -738,6 +743,13 @@ int CLIENT_STATE::parse_app_info(PROJECT* p, FILE* in) {
delete fip;
continue;
}
if (fip->urls.size()) {
msg_printf(p, MSG_USER_ERROR,
"Can't specify URLs in app_info.xml"
);
delete fip;
continue;
}
if (link_file_info(p, fip)) {
delete fip;
continue;

View File

@ -25,7 +25,14 @@
// result to be returned and try again
// (kludge for WCG)
extern int assimilate_handler(WORKUNIT&, std::vector<RESULT>&, RESULT&);
// This function is called to handle a completed job.
// Return zero on success.
//
extern int assimilate_handler(
WORKUNIT&, // the workunit
std::vector<RESULT>&, // all the instances (successful or not)
RESULT& // the canonical instance
);
extern int g_argc;
extern char** g_argv;