findCmdLineFlag/Key
This commit is contained in:
parent
eea6ab1a29
commit
db2a06c430
|
|
@ -144,20 +144,17 @@ findCmdLineFlag(int &argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
const char *flag)
|
const char *flag)
|
||||||
{
|
{
|
||||||
bool found = false;
|
for (int i = 1; i < argc; i++) {
|
||||||
int j = 1;
|
|
||||||
int argc1 = argc;
|
|
||||||
for (int i = 1; i < argc1; i++) {
|
|
||||||
char *arg = argv[i];
|
char *arg = argv[i];
|
||||||
if (stringEq(arg, flag)) {
|
if (stringEq(arg, flag)) {
|
||||||
found = true;
|
|
||||||
// remove flag from argv.
|
// remove flag from argv.
|
||||||
|
for (int j = i + 1; j < argc; j++, i++)
|
||||||
|
argv[i] = argv[j];
|
||||||
argc--;
|
argc--;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
argv[j++] = argv[i];
|
|
||||||
}
|
}
|
||||||
return found;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
|
|
@ -165,22 +162,19 @@ findCmdLineKey(int &argc,
|
||||||
char *argv[],
|
char *argv[],
|
||||||
const char *key)
|
const char *key)
|
||||||
{
|
{
|
||||||
char *value = nullptr;
|
for (int i = 1; i < argc; i++) {
|
||||||
int j = 1;
|
|
||||||
int argc1 = argc;
|
|
||||||
for (int i = 1; i < argc1; i++) {
|
|
||||||
char *arg = argv[i];
|
char *arg = argv[i];
|
||||||
if (stringEq(arg, key) && i + 1 < argc) {
|
if (stringEq(arg, key) && i + 1 < argc) {
|
||||||
value = argv[i + 1];
|
char *value = argv[i + 1];
|
||||||
// remove key and value from argv.
|
// remove key and value from argv.
|
||||||
i++;
|
for (int j = i + 2; j < argc; j++, i++)
|
||||||
|
argv[i] = argv[j];
|
||||||
argc -= 2;
|
argc -= 2;
|
||||||
}
|
|
||||||
else
|
|
||||||
argv[j++] = argv[i];
|
|
||||||
}
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
// Use overridden version of source to echo cmds and results.
|
// Use overridden version of source to echo cmds and results.
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -1489,6 +1489,7 @@ LibertyCell::driveResistance(const TransRiseFall *tr) const
|
||||||
TimingArcSetArcIterator arc_iter(set);
|
TimingArcSetArcIterator arc_iter(set);
|
||||||
while (arc_iter.hasNext()) {
|
while (arc_iter.hasNext()) {
|
||||||
TimingArc *arc = arc_iter.next();
|
TimingArc *arc = arc_iter.next();
|
||||||
|
if (arc->toTrans()->asRiseFall() == tr) {
|
||||||
GateTimingModel *model = dynamic_cast<GateTimingModel*>(arc->model());
|
GateTimingModel *model = dynamic_cast<GateTimingModel*>(arc->model());
|
||||||
if (model) {
|
if (model) {
|
||||||
float drive = model->driveResistance(this, nullptr);
|
float drive = model->driveResistance(this, nullptr);
|
||||||
|
|
@ -1498,6 +1499,7 @@ LibertyCell::driveResistance(const TransRiseFall *tr) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return max_drive;
|
return max_drive;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue