Changeset 577d19f in git for Singular/ipassign.cc
- Timestamp:
- Mar 21, 1997, 2:19:05 PM (27 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 4f568c15ac592b67d6d689c797d299502aebc194
- Parents:
- cc029638a620b2b1b896a1e7d6f02f4040dd296d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipassign.cc
rcc0296 r577d19f 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 static char rcsid[] = "$Header: /exports/cvsroot-2/cvsroot/Singular/ipassign.cc,v 1. 1.1.1 1997-03-19 13:18:47 obachmanExp $";4 static char rcsid[] = "$Header: /exports/cvsroot-2/cvsroot/Singular/ipassign.cc,v 1.2 1997-03-21 13:19:03 Singular Exp $"; 5 5 /* $Log: not supported by cvs2svn $ 6 6 */ … … 978 978 } 979 979 if(l->attribute!=NULL) 980 l->attribute->killAll(); 981 l->attribute=NULL; 980 { 981 atKillAll((idhdl)l); 982 l->attribute=NULL; 983 } 982 984 l->flag=0; 983 985 lists li; … … 985 987 { 986 988 li=IDLIST((idhdl)l->data); 987 IDATTR((idhdl)l->data)=NULL;;988 IDFLAG((idhdl)l->data)=0;989 989 } 990 990 else … … 1001 1001 li->nr=i; 1002 1002 } 1003 leftv ld=l->LHdl(); 1004 Subexpr e=l->e->next; 1005 if (e==NULL) 1006 { 1003 leftv ld=&(li->m[i]); 1004 ld->e=l->e->next; 1005 BOOLEAN b; 1006 if ((ld->rtyp!=LIST_CMD) 1007 &&(ld->e==NULL) 1008 &&(ld->Typ()!=r->Typ())) 1009 { 1010 sleftv tmp; 1011 memset(&tmp,0,sizeof(sleftv)); 1012 tmp.rtyp=DEF_CMD; 1013 b=iiAssign(&tmp,r); 1007 1014 ld->CleanUp(); 1008 ld->rtyp=DEF_CMD; 1009 BOOLEAN b=jiAssign_1(ld,r); 1010 return b; 1015 memcpy(ld,&tmp,sizeof(sleftv)); 1016 } 1017 else 1018 { 1019 b=iiAssign(ld,r); 1020 l->e->next=ld->e; 1011 1021 } 1012 BOOLEAN b;1013 ld->e=e;1014 if(ld->rtyp!=LIST_CMD)1015 {1016 b=jiAssign_1(ld,r);1017 }1018 else1019 {1020 b=jiAssign_list(ld,r);1021 }1022 ld->e=NULL;1023 1022 return b; 1024 1023 } … … 1056 1055 if(l->attribute!=NULL) 1057 1056 { 1058 atKillAll((idhdl)l->data); 1059 l->attribute=NULL; 1057 if (l->rtyp==IDHDL) 1058 { 1059 atKillAll((idhdl)l->data); 1060 l->attribute=NULL; 1061 } 1062 else 1063 atKillAll((idhdl)l); 1060 1064 } 1061 1065 if(l->rtyp==IDHDL) 1062 1066 { 1063 1067 IDFLAG((idhdl)l->data)=0; 1064 IDATTR((idhdl)l->data)=NULL;1065 1068 } 1066 1069 l->flag=0; … … 1069 1072 /* l[..] = ... */ 1070 1073 if((l->e!=NULL) 1071 && ( l->rtyp==IDHDL)1072 && (IDTYP((idhdl)l->data)==LIST_CMD))1074 && (((l->rtyp==IDHDL) && (IDTYP((idhdl)l->data)==LIST_CMD)) 1075 || (l->rtyp==LIST_CMD))) 1073 1076 { 1074 1077 if(r->next!=NULL) … … 1076 1079 else 1077 1080 b=jiAssign_list(l,r); 1078 if( l->data!=NULL)1081 if((l->rtyp==IDHDL) && (l->data!=NULL)) 1079 1082 { 1080 1083 ipMoveId((idhdl)l->data); 1084 l->attribute=IDATTR((idhdl)l->data); 1085 l->flag=IDFLAG((idhdl)l->data); 1081 1086 } 1082 1087 r->CleanUp(); 1083 l->CleanUp(); 1088 Subexpr h; 1089 while (l->e!=NULL) 1090 { 1091 h=l->e->next; 1092 Free((ADDRESS)l->e,sizeof(*(l->e))); 1093 l->e=h; 1094 } 1084 1095 return b; 1085 1096 } … … 1103 1114 { 1104 1115 b=jiAssign_1(l,r); 1105 if (l->data!=NULL)1116 if (l->rtyp==IDHDL) 1106 1117 { 1107 1118 if ((lt==DEF_CMD)||(lt=LIST_CMD)) ipMoveId((idhdl)l->data); 1108 1119 l->attribute=IDATTR((idhdl)l->data); 1109 1120 l->flag=IDFLAG((idhdl)l->data); 1121 l->CleanUp(); 1110 1122 } 1111 1123 r->CleanUp(); 1112 l->CleanUp();1113 1124 return b; 1114 1125 } … … 1120 1131 { 1121 1132 b=jiAssign_1(l,r); 1122 if( l->data!=NULL)1133 if((l->rtyp==IDHDL)&&(l->data!=NULL)) 1123 1134 { 1124 1135 if (lt==DEF_CMD) ipMoveId((idhdl)l->data); … … 1127 1138 } 1128 1139 r->CleanUp(); 1129 l->CleanUp(); 1140 Subexpr h; 1141 while (l->e!=NULL) 1142 { 1143 h=l->e->next; 1144 Free((ADDRESS)l->e,sizeof(*(l->e))); 1145 l->e=h; 1146 } 1130 1147 return b; 1131 1148 }
Note: See TracChangeset
for help on using the changeset viewer.