if (SCF_EDA_PIN_POS & el->flags) {
scf_loge("pos l%ld\n\n", el->id);
- ret = SCF_EDA_Path_OFF;
- np->vflag = 1;
+ ret = SCF_EDA_Path_OFF;
continue;
}
if (p->pflag && p != np && *ppath) {
scf_loge("branch: c%ld_p%ld, l%ld\n", c->id, p->id, el->id);
- if (scf_vector_add(__paths, *ppath) < 0)
- return -ENOMEM;
+ if ((*ppath)->pins->size > 0) {
+ if (scf_vector_add(__paths, *ppath) < 0)
+ return -ENOMEM;
- for (k = 0; k < (*ppath)->pins->size; k++) {
- p = (*ppath)->pins->data[k];
- p->pflag = 1;
- }
+ for (k = 0; k < (*ppath)->pins->size; k++) {
+ p = (*ppath)->pins->data[k];
+ p->pflag = 1;
+ }
+ } else
+ ses_path_free(*ppath);
*ppath = NULL;
continue;
}
}
- scf_loge("ctx->paths: %p, ctx->paths->size: %d\n", ctx->paths, ctx->paths->size);
scf_vector_clear(ctx->paths, ( void (*)(void*) )ses_path_free);
B = f->components[0];