21 #define umalloc(u) (union u*)tmalloc(sizeof(union u)) 28 struct
prpty **Property;
35 *Property = SymbolDesc->sPrptyList;
48 struct prpty *prptyDesc;
82 if (Pointer ==
NULL) {
83 prptyDesc->
prpty_Succ = SymbolDesc->sPrptyList;
84 SymbolDesc->sPrptyList = prptyDesc;
102 char *cp, name[128], subname[128];
103 struct prpty *prptyDesc;
117 if (sscanf(String,
"%d",&indx1) != 1)
122 else if (sscanf(String,
"%d %d %d %d",&indx1,&indx2,&X,&Y) != 4)
132 if (sscanf(String,
"%d %d %d %d %lf",&X,&Y,&X1,&Y1,&coeff) != 5)
143 if (sscanf(String,
"%d %d %d %d",&X,&Y,&X1,&Y1) != 4)
153 i = sscanf(String,
"%s %d %s",name,&indx1,subname);
174 if (*cp ==
';') *cp =
' ';
178 if (Pointer ==
NULL) {
179 prptyDesc->
prpty_Succ = SymbolDesc->sPrptyList;
180 SymbolDesc->sPrptyList = prptyDesc;
199 struct prpty *prptyDesc;
200 struct prpty *prptyHead;
201 struct prpty *prptyCopy;
202 struct prpty *prptyTemp;
205 prptyHead = prptyDesc = SymbolDesc->sPrptyList;
209 for (prptyCopy =
NULL; prptyDesc !=
NULL;
210 prptyCopy = prptyDesc,prptyDesc = prptyTemp) {
213 if (prptyDesc->prpty_Value == Value) {
214 if (prptyCopy ==
NULL)
219 prptyDesc = prptyCopy;
223 SymbolDesc->sPrptyList = prptyHead;
235 if (PDesc->prpty_String)
236 free(PDesc->prpty_String);
237 if (PDesc->prpty_Data) {
238 switch (PDesc->prpty_Value) {
246 if (PDesc->prpty_Data->p_name.name)
247 free(PDesc->prpty_Data->p_name.name);
248 if (PDesc->prpty_Data->p_name.subname)
249 free(PDesc->prpty_Data->p_name.subname);
251 free(PDesc->prpty_Data);
254 if (PDesc->prpty_Info)
255 free(PDesc->prpty_Info);
267 for (; PDesc; PDesc = pd) {
293 fprintf(FileDesc,
"5 %d %d %d %d %d;\n",
299 fprintf(FileDesc,
"5 %d %d %d %d %d %g;\n",
306 fprintf(FileDesc,
"5 %d %d %d %d %d;\n",
313 fprintf(FileDesc,
"5 %d %s %d %s;\n",
318 fprintf(FileDesc,
"5 %d %s %d;\n",
328 fprintf(FileDesc,
"5 %d %s;\n",PDesc->
prpty_Value,s);
int CDAddProperty(struct s *SymbolDesc, struct o *Pointer, int Value, char *String)
void CDPrptyListPrint(FILE *FileDesc, struct prpty *PDesc)
struct hprlist * HYfromascii()
union prp_data * prpty_Data
int CDRemoveProperty(struct s *SymbolDesc, struct o *Pointer, int Value)
void CDProperty(struct s *SymbolDesc, struct o *Pointer, struct prpty **Property)
int struct s * SymbolDesc
void CDPrptyListFree(struct prpty *PDesc)
struct prp_branch p_branch
int CDCopyProperty(struct s *SymbolDesc, struct o *Pointer, struct prpty *PDesc)
struct prpty * prpty_Succ
struct prpty * oPrptyList
struct hprlist * HYcopy()