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