============ idProgram::FreeDef ============ */
| 1434 | ============ |
| 1435 | */ |
| 1436 | void idProgram::FreeDef( idVarDef *def, const idVarDef *scope ) { |
| 1437 | idVarDef *e; |
| 1438 | int i; |
| 1439 | |
| 1440 | if ( def->Type() == ev_vector ) { |
| 1441 | idStr name; |
| 1442 | |
| 1443 | sprintf( name, "%s_x", def->Name() ); |
| 1444 | e = GetDef( NULL, name, scope ); |
| 1445 | if ( e ) { |
| 1446 | FreeDef( e, scope ); |
| 1447 | } |
| 1448 | |
| 1449 | sprintf( name, "%s_y", def->Name() ); |
| 1450 | e = GetDef( NULL, name, scope ); |
| 1451 | if ( e ) { |
| 1452 | FreeDef( e, scope ); |
| 1453 | } |
| 1454 | |
| 1455 | sprintf( name, "%s_z", def->Name() ); |
| 1456 | e = GetDef( NULL, name, scope ); |
| 1457 | if ( e ) { |
| 1458 | FreeDef( e, scope ); |
| 1459 | } |
| 1460 | } |
| 1461 | |
| 1462 | varDefs.RemoveIndex( def->num ); |
| 1463 | for( i = def->num; i < varDefs.Num(); i++ ) { |
| 1464 | varDefs[ i ]->num = i; |
| 1465 | } |
| 1466 | |
| 1467 | delete def; |
| 1468 | } |
| 1469 | |
| 1470 | /* |
| 1471 | ============ |
no test coverage detected