On Sat, 2003-02-15 at 14:22, Andrew Piskorski wrote:
> Could someone please explain the different uses of the "ClientData
> arg" parameter to the Nsv C functions in AOLserver 3.x vs. 4.0?  For
> example, let's look at the 3.x NsTclVSetCmd and the (equivalent but
> object-ified) 4.x NsTclNsvSetObjCmd functions (see below).
>
> I believe the ClientData typdef is a void * in both 3.x and 4.x.  For
> these two NsTclNsv*Set*Cmd functions, in 3.x, "arg" is clearly just
> the single character 'g', while in 4.x, well basically I have no idea
> what arg is.  Using the character 'g' like in 3.x definitely isn't
> right, as that makes my AOLserver segfault with a Bus Error.  :)
>

For 4.0 it looks like it is a NsInterp (look at LockArray).

> Could someone explain what's really going on with "arg", please?
> Thanks!
>

Looks like they are passing around a Tcl_Interp pointer as well as a
NsInterp pointer in 4.0. Not sure why, I haven't examined the code that
thoroughly yet. Previously, they were using it to pass 's' or 'g'; set
or get I suppose.

    --brett

--
Brett Schwarz
brett_schwarz AT yahoo.com

Reply via email to