fix: __dfs_path()
authoryu.dongliang <18588496441@163.com>
Sat, 14 Oct 2023 07:33:17 +0000 (15:33 +0800)
committeryu.dongliang <18588496441@163.com>
Sat, 14 Oct 2023 07:33:17 +0000 (15:33 +0800)
ses_step_topo.c

index d54c1464dfcea963f1c1ccd98761617ae82de928..fea2e68498221975f19536cd97d6122370948003 100644 (file)
@@ -117,13 +117,15 @@ int __dfs_path(ScfEfunction* f, ScfEcomponent* rc, ScfEpin* rp, scf_vector_t* __
                                p->vflag = 0;
                }
 
-               if (SCF_EDA_Status_OFF == ret || SCF_EDA_Path_OFF == ret) {
-                       if (*ppath)
-                               scf_vector_del((*ppath)->pins, np);
+               if (*ppath) {
+                       scf_vector_del((*ppath)->pins, np);
 
-                       if (SCF_EDA_Path_OFF == ret)
-                               np->vflag = 0;
+                       if (SCF_EDA_Status_OFF != ret)
+                               ret = SCF_EDA_Path_OFF;
                }
+
+               if (SCF_EDA_Path_OFF == ret)
+                       np->vflag = 0;
        }
 
        if (SCF_EDA_Status_OFF == ret || SCF_EDA_Path_OFF == ret) {