[Add] Check and report failed hunks.
This commit is contained in:
parent
27292f1770
commit
e4b5f54119
@ -193,10 +193,11 @@ int diff_apply(char* name) {
|
||||
* @return 0 on success.
|
||||
*/
|
||||
static int diff_patch(xmlNodePtr parent) {
|
||||
int i;
|
||||
UniDiff_t* diff;
|
||||
UniHunk_t base, hunk;
|
||||
UniHunk_t base, hunk, *fail;
|
||||
xmlNodePtr node, cur;
|
||||
char* buf;
|
||||
char* buf, *target;
|
||||
|
||||
/* Prepare it. */
|
||||
diff = diff_newDiff();
|
||||
@ -271,6 +272,34 @@ static int diff_patch(xmlNodePtr parent) {
|
||||
}
|
||||
} while(xml_nextNode(node));
|
||||
|
||||
if(diff->nfailed > 0) {
|
||||
DEBUG("Unidiff '%s' failed %d hunks.", diff->name, diff->nfailed);
|
||||
for(i = 0; i < diff->nfailed; i++) {
|
||||
fail = &diff->failed[i];
|
||||
target = fail->target.u.name;
|
||||
switch(fail->type) {
|
||||
case HUNK_TYPE_PLANET_ADD:
|
||||
DEBUG(" [%s] planet add: '%s'", target, fail->u.name);
|
||||
break;
|
||||
case HUNK_TYPE_PLANET_REMOVE:
|
||||
DEBUG(" [%s] planet remove: '%s'", target, fail->u.name);
|
||||
break;
|
||||
case HUNK_TYPE_FLEET_ADD:
|
||||
DEBUG(" [%s] fleet add: '%s' (%d%% chance)", target,
|
||||
fail->u.fleet.fleet->name, fail->u.fleet.chance);
|
||||
break;
|
||||
case HUNK_TYPE_FLEET_REMOVE:
|
||||
DEBUG(" [%s] fleet remove: '%s' (%d%% chance)", target,
|
||||
fail->u.fleet.fleet->name, fail->u.fleet.chance);
|
||||
break;
|
||||
|
||||
default:
|
||||
DEBUG(" Unkown hunk '%d'", fail->type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user