if (np->vflag) {
if (rp != np)
- scf_loge("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", np->cid, np->id, np->lid, np->vflag, np->pflag);
+ scf_logd("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", np->cid, np->id, np->lid, np->vflag, np->pflag);
continue;
}
c = f->components[el->pins[j]];
p = c->pins [el->pins[j + 1]];
+ if (p->pflag && p != np) {
+ scf_loge("branch: c%ld_p%ld, l%ld\n", c->id, p->id, el->id);
+ ret = SCF_EDA_Path_TO;
+ goto end;
+ }
+
if (p->vflag) {
if (p != np)
- scf_loge("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", p->cid, p->id, p->lid, p->vflag, p->pflag);
+ scf_logd("c%ld_p%ld, l%ld, vflag: %d, pflag: %d\n", p->cid, p->id, p->lid, p->vflag, p->pflag);
continue;
}
if (ret < 0)
return ret;
- if (SCF_EDA_Status_OFF == ret)
- scf_loge("off: c%ld_p%ld, l%ld\n", p->cid, p->id, p->lid);
- else if (SCF_EDA_Path_OFF == ret) {
+ if (SCF_EDA_Path_OFF == ret) {
p->vflag = 0;
scf_logw("off: c%ld_p%ld, l%ld\n", p->cid, p->id, p->lid);
- }
+
+ } else if (SCF_EDA_Status_OFF == ret)
+ scf_loge("off: c%ld_p%ld, l%ld\n", p->cid, p->id, p->lid);
}
if (ret > 0) {
if (*ppath)
scf_vector_del(*ppath, np);
- if (SCF_EDA_Status_OFF == ret)
- scf_loge("off: c%ld_p%ld, l%ld, *ppath: %p\n", np->cid, np->id, np->lid, *ppath);
- else if (SCF_EDA_Path_OFF == ret) {
+ if (SCF_EDA_Path_OFF == ret) {
np->vflag = 0;
scf_logw("off: c%ld_p%ld, l%ld\n", np->cid, np->id, np->lid);
- }
+
+ } else if (SCF_EDA_Status_OFF == ret)
+ scf_loge("off: c%ld_p%ld, l%ld, *ppath: %p\n", np->cid, np->id, np->lid, *ppath);
}
}
if (*ppath)
scf_vector_del(*ppath, rp);
- if (SCF_EDA_Status_OFF == ret)
- scf_loge("off: c%ld_p%ld, l%ld\n", rp->cid, rp->id, rp->lid);
- else if (SCF_EDA_Path_OFF == ret) {
+ if (SCF_EDA_Path_OFF == ret) {
rp->vflag = 0;
scf_logw("off: c%ld_p%ld, l%ld\n", rp->cid, rp->id, rp->lid);
- }
+
+ } else if (SCF_EDA_Status_OFF == ret)
+ scf_loge("off: c%ld_p%ld, l%ld\n", rp->cid, rp->id, rp->lid);
}
+end:
return ret;
}
if (!path)
continue;
- if (ret > 0) {
+ if (SCF_EDA_Status_OFF == ret || SCF_EDA_Path_OFF == ret) {
scf_vector_clear(path, NULL);
continue;
}