Changeset 7f581e in git
- Timestamp:
- Apr 20, 2011, 4:40:43 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
- Children:
- c47547d6e52a72fa99fb925244f037994d2ee996
- Parents:
- a088a124beb3fcae063eb326f03ad572927bd5b8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/newstruct.cc
ra088a12 r7f581e 33 33 else 34 34 { 35 newstruct_desc ad=(newstruct_desc) b->data;35 newstruct_desc ad=(newstruct_desc)(b->data); 36 36 lists l=(lists)d; 37 37 newstruct_member a=ad->member; … … 172 172 if (a2->name!=NULL) 173 173 { 174 BOOLEAN search_ring=FALSE; 174 175 newstruct_member nm=nt->member; 175 176 while ((nm!=NULL)&&(strcmp(nm->name,a2->name)!=0)) nm=nm->next; 177 if ((nm==NULL) && (strncmp(a2->name,"r_",2)==0)) 178 { 179 nm=nt->member; 180 while ((nm!=NULL)&&(strcmp(nm->name,a2->name+2)!=0)) nm=nm->next; 181 if ((nm!=NULL)&&(RingDependend(nm->typ))) 182 search_ring=TRUE; 183 else 184 nm=NULL; 185 } 176 186 if (nm==NULL) 177 187 { … … 179 189 return TRUE; 180 190 } 181 if (RingDependend(nm->typ)) 191 if (search_ring) 192 { 193 ring r; 194 res->rtyp=RING_CMD; 195 res->data=al->m[nm->pos-1].data; 196 r=(ring)res->data; 197 if (r==NULL) { res->data=(void *)currRing; r=currRing; } 198 if (r!=NULL) r->ref++; 199 else Werror("ring of this member is not set and no basering found"); 200 return r==NULL; 201 } 202 else if (RingDependend(nm->typ)) 182 203 { 183 204 if (al->m[nm->pos].data==NULL)
Note: See TracChangeset
for help on using the changeset viewer.