| 1697 | |
| 1698 | static idhdl rSimpleFindHdl(const ring r, const idhdl root, const idhdl n); |
| 1699 | idhdl rFindHdl(ring r, idhdl n) |
| 1700 | { |
| 1701 | if ((r==NULL)||(r->VarOffset==NULL)) |
| 1702 | return NULL; |
| 1703 | idhdl h=rSimpleFindHdl(r,IDROOT,n); |
| 1704 | if (h!=NULL) return h; |
| 1705 | if (IDROOT!=basePack->idroot) h=rSimpleFindHdl(r,basePack->idroot,n); |
| 1706 | if (h!=NULL) return h; |
| 1707 | proclevel *p=procstack; |
| 1708 | while(p!=NULL) |
| 1709 | { |
| 1710 | if ((p->cPack!=basePack) |
| 1711 | && (p->cPack!=currPack)) |
| 1712 | h=rSimpleFindHdl(r,p->cPack->idroot,n); |
| 1713 | if (h!=NULL) return h; |
| 1714 | p=p->next; |
| 1715 | } |
| 1716 | idhdl tmp=basePack->idroot; |
| 1717 | while (tmp!=NULL) |
| 1718 | { |
| 1719 | if (IDTYP(tmp)==PACKAGE_CMD) |
| 1720 | h=rSimpleFindHdl(r,IDPACKAGE(tmp)->idroot,n); |
| 1721 | if (h!=NULL) return h; |
| 1722 | tmp=IDNEXT(tmp); |
| 1723 | } |
| 1724 | return NULL; |
| 1725 | } |
| 1726 | |
| 1727 | void rDecomposeCF(leftv h,const ring r,const ring R) |
| 1728 | { |
no test coverage detected