|
|
@ -139,23 +139,13 @@ cellcmp_and_dupfar(egcpool* dampool, cell* damcell,
|
|
|
|
const ncplane* srcplane, const cell* srccell){
|
|
|
|
const ncplane* srcplane, const cell* srccell){
|
|
|
|
if(damcell->stylemask == srccell->stylemask){
|
|
|
|
if(damcell->stylemask == srccell->stylemask){
|
|
|
|
if(damcell->channels == srccell->channels){
|
|
|
|
if(damcell->channels == srccell->channels){
|
|
|
|
bool srcsimple = cell_simple_p(srccell);
|
|
|
|
const char* srcegc = cell_extended_gcluster(srcplane, srccell);
|
|
|
|
bool damsimple = cell_simple_p(damcell);
|
|
|
|
const char* damegc = pool_extended_gcluster(dampool, damcell);
|
|
|
|
if(damsimple == srcsimple){
|
|
|
|
|
|
|
|
if(damsimple){
|
|
|
|
|
|
|
|
if(damcell->gcluster == srccell->gcluster){
|
|
|
|
|
|
|
|
return 0; // simple match
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
const char* damegc = egcpool_extended_gcluster(dampool, damcell);
|
|
|
|
|
|
|
|
const char* srcegc = extended_gcluster(srcplane, srccell);
|
|
|
|
|
|
|
|
if(strcmp(damegc, srcegc) == 0){
|
|
|
|
if(strcmp(damegc, srcegc) == 0){
|
|
|
|
return 0; // EGC match
|
|
|
|
return 0; // EGC match
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
cell_duplicate_far(dampool, damcell, srcplane, srccell);
|
|
|
|
cell_duplicate_far(dampool, damcell, srcplane, srccell);
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|