Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vmiie1$24c6l$2@dont-email.me>
Deutsch   English   Français   Italiano  
<vmiie1$24c6l$2@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: aotto1968 <aotto1968@t-online.de>
Newsgroups: comp.lang.tcl
Subject: Re: what happen to tcl C api ?
Date: Sun, 19 Jan 2025 10:59:29 +0100
Organization: A noiseless patient Spider
Lines: 44
Message-ID: <vmiie1$24c6l$2@dont-email.me>
References: <vmihnq$24c6l$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 19 Jan 2025 10:59:33 +0100 (CET)
Injection-Info: dont-email.me; posting-host="3da57d183ec623340eca6a2638b336b1";
	logging-data="2240725"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+tdeSLC8SXCrpJl0mz1QDc7D376p4COas="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:3tfoG/ozlM/C4svF/7b9JOfDmm4=
In-Reply-To: <vmihnq$24c6l$1@dont-email.me>
Content-Language: en-US


below is the code used for testing:
MOX_ ... is the internal name from me for various tcl api-types
RL_ ... is a helper to build the objc/objv array to finally call the Tcl_EvalObjv api-command

int NS(_IncrIndex1) (OBJCMD_ARGS) {
   MOX_SETUP_hdl_static;
   if (objc < (1+__skip) || objc > (2+__skip)) {
     Tcl_WrongNumArgs(interp,__skip,objv,"... expect: varName ?increment?");
     return TCL_ERROR;
   }
   MOX_OBJ_T varNameO  = objv[__skip++];
   MOX_OBJ_T incrO     = __skip < objc ? objv[__skip++] : NULL;
   int incrI=1;
   if (incrO) {
     if (Tcl_GetIntFromObj(interp,incrO,&incrI) == TCL_ERROR) return TCL_ERROR;
   }
   MOX_OBJ_T varO  = Tcl_ObjGetVar2(interp,varNameO,NULL,TCL_LEAVE_ERR_MSG);
     if (varO == NULL) return TCL_ERROR;
   int varI;
   if (Tcl_GetIntFromObj(interp,varO,&varI) == TCL_ERROR) return TCL_ERROR;
   MOX_OBJ_T newO = Tcl_ObjSetVar2(interp,varNameO,NULL, Tcl_NewIntObj(varI+incrI), TCL_LEAVE_ERR_MSG);
     if (newO== NULL) return TCL_ERROR;
   Tcl_SetObjResult(interp,newO);
   return TCL_OK;
};
MoxObjDelete(_IncrIndex1);

int NS(_IncrIndex2) (OBJCMD_ARGS) {
   MOX_SETUP_hdl_static;
   if (objc < (1+__skip) || objc > (2+__skip)) {
     Tcl_WrongNumArgs(interp,__skip,objv,"... expect: varName ?increment?");
     return TCL_ERROR;
   }
   if (objc == 2) {
     RL_init( 2, RL_NewS(0,"incr") ) ; RL_O(1,objv[1]) ;
     return RL_EvalEx(TCL_LEAVE_ERR_MSG);
   } else {
     RL_init( 3, RL_NewS(0,"incr") ) ; RL_O(1,objv[1]) ; RL_O(2,objv[2]) ;
     return RL_EvalEx(TCL_LEAVE_ERR_MSG);
   }
};
MoxObjDelete(_IncrIndex2);