mirror of
https://github.com/YosysHQ/yosys
synced 2025-11-22 13:41:27 +00:00
sdc: use Tcl memory management functionality
This commit is contained in:
parent
b5625f9189
commit
6eb9e823e0
1 changed files with 14 additions and 14 deletions
|
|
@ -359,7 +359,7 @@ static int getter_graph_node(TclCall call) {
|
|||
newObjv[i + 1] = call.objv[i];
|
||||
}
|
||||
// Send the vector to the Tcl land
|
||||
Tcl_Obj** allocatedObjv = new Tcl_Obj*[call.objc + 1];
|
||||
Tcl_Obj** allocatedObjv = (Tcl_Obj**)Tcl_Alloc((call.objc + 1) * sizeof(Tcl_Obj*));
|
||||
for (int i = 0; i < call.objc + 1; ++i) {
|
||||
allocatedObjv[i] = newObjv[i];
|
||||
}
|
||||
|
|
@ -376,14 +376,14 @@ static int redirect_unknown(TclCall call) {
|
|||
// TODO redirect to different command
|
||||
Tcl_Obj *newCmd = Tcl_NewStringObj("unknown", -1);
|
||||
auto newObjc = call.objc + 1;
|
||||
Tcl_Obj **newObjv = new Tcl_Obj*[newObjc];
|
||||
Tcl_Obj** newObjv = (Tcl_Obj**)Tcl_Alloc(newObjc * sizeof(Tcl_Obj*));
|
||||
newObjv[0] = newCmd;
|
||||
for (int i = 1; i < newObjc; i++) {
|
||||
newObjv[i] = call.objv[i - 1];
|
||||
}
|
||||
int result = Tcl_EvalObjv(call.interp, newObjc, newObjv, 0);
|
||||
Tcl_DecrRefCount(newCmd);
|
||||
delete[] newObjv;
|
||||
Tcl_Free((char*) newObjv);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue