>>Correct, as I said above, you probably want to use
>>parent_clone_object() (or just call the svalue directly). Do you
>>actually need the program pointer for something?
>
>I need it to create an object of that program. I am a little confused
>though. If there is a simpler solution to create an object from the
>name of the program (const char*) i would like to know :-).
In that case, something like:
push_text("Someclass");
APPLY_MASTER("resolv", 1);
if (UNSAFE_IS_ZERO(Pike_sp - 1)) {
Pike_error("Could not resolve program Someclass.\n");
}
ref_push_*(arg1);
ref_push_*(arg2);
...
ref_push_*(argn);
apply_svalue(Pike_sp - (n + 1), n);
stack_pop_keep_top(1); /* Pop the resolved value */
/* Pike_sp-1 now (probably) contains the new object. */
probably does what you need.
|