| 2391 | } |
| 2392 | |
| 2393 | static void rRenameVars(ring R) |
| 2394 | { |
| 2395 | int i,j; |
| 2396 | BOOLEAN ch; |
| 2397 | do |
| 2398 | { |
| 2399 | ch=0; |
| 2400 | for(i=0;i<R->N-1;i++) |
| 2401 | { |
| 2402 | for(j=i+1;j<R->N;j++) |
| 2403 | { |
| 2404 | if (strcmp(R->names[i],R->names[j])==0) |
| 2405 | { |
| 2406 | ch=TRUE; |
| 2407 | Warn("name conflict var(%d) and var(%d): `%s`, rename to `@%s`in >>%s<<\nin %s:%d",i+1,j+1,R->names[i],R->names[i],my_yylinebuf,currentVoice->filename,yylineno); |
| 2408 | omFree(R->names[j]); |
| 2409 | size_t len=2+strlen(R->names[i]); |
| 2410 | R->names[j]=(char *)omAlloc(len); |
| 2411 | snprintf(R->names[j],len,"@%s",R->names[i]); |
| 2412 | } |
| 2413 | } |
| 2414 | } |
| 2415 | } |
| 2416 | while (ch); |
| 2417 | for(i=0;i<rPar(R); i++) |
| 2418 | { |
| 2419 | for(j=0;j<R->N;j++) |
| 2420 | { |
| 2421 | if (strcmp(rParameter(R)[i],R->names[j])==0) |
| 2422 | { |
| 2423 | Warn("name conflict par(%d) and var(%d): `%s`, rename the VARIABLE to `@@(%d)`in >>%s<<\nin %s:%d",i+1,j+1,R->names[j],i+1,my_yylinebuf,currentVoice->filename,yylineno); |
| 2424 | // omFree(rParameter(R)[i]); |
| 2425 | // rParameter(R)[i]=(char *)omAlloc(10); |
| 2426 | // sprintf(rParameter(R)[i],"@@(%d)",i+1); |
| 2427 | omFree(R->names[j]); |
| 2428 | R->names[j]=(char *)omAlloc(16); |
| 2429 | snprintf(R->names[j],16,"@@(%d)",i+1); |
| 2430 | } |
| 2431 | } |
| 2432 | } |
| 2433 | } |
| 2434 | |
| 2435 | static inline BOOLEAN rComposeVar(const lists L, ring R) |
| 2436 | { |
no test coverage detected