Posted to tcl by aspect at Thu Dec 17 01:10:40 GMT 2015view raw
- int CreateQualifiedCmd(
- Tcl_Interp* interp,
- char* cmdName,
- Tcl_ObjCmdProc* proc,
- ClientData clientData,
- Tcl_CmdDeleteProc* deleteProc)
- {
- Tcl_Namespace* nsPtr;
- Tcl_DString ds;
- Tcl_Command cmdToken;
- nsPtr = Tcl_GetCurrentNamespace(interp);
- Tcl_DStringInit(&ds);
- if(nsPtr->parent != NULL) { // root's fullName is "::", which we don't want doubled
- Tcl_DStringAppend(ds, nsPtr->fullName);
- }
- Tcl_DStringAppend(ds, "::");
- Tcl_DStringAppend(ds, cmdName);
- cmdToken = Tcl_CreateObjCommand(interp, Tcl_DStringValue(ds), proc, clientData, deleteProc);
- Tcl_SetResult(interp, Tcl_DStringValue(ds), TCL_VOLATILE);
- Tcl_DStringFree(ds);
- return TCL_OK;
- }