@@ -163,11 +163,11 @@ static void iaio_finalizer(SEXP xptr) {
163163
164164SEXP rnng_aio_result (SEXP env ) {
165165
166- const SEXP exist = nano_findVarInFrame (env , nano_ValueSymbol );
166+ const SEXP exist = FINDVARINFRAME (env , nano_ValueSymbol );
167167 if (exist != R_UnboundValue )
168168 return exist ;
169169
170- const SEXP aio = nano_findVarInFrame (env , nano_AioSymbol );
170+ const SEXP aio = FINDVARINFRAME (env , nano_AioSymbol );
171171
172172 nano_aio * saio = (nano_aio * ) NANO_PTR (aio );
173173
@@ -185,11 +185,11 @@ SEXP rnng_aio_result(SEXP env) {
185185
186186SEXP rnng_aio_get_msg (SEXP env ) {
187187
188- const SEXP exist = nano_findVarInFrame (env , nano_ValueSymbol );
188+ const SEXP exist = FINDVARINFRAME (env , nano_ValueSymbol );
189189 if (exist != R_UnboundValue )
190190 return exist ;
191191
192- const SEXP aio = nano_findVarInFrame (env , nano_AioSymbol );
192+ const SEXP aio = FINDVARINFRAME (env , nano_AioSymbol );
193193
194194 nano_aio * raio = (nano_aio * ) NANO_PTR (aio );
195195
@@ -209,14 +209,7 @@ SEXP rnng_aio_get_msg(SEXP env) {
209209 case RECVAIOS :
210210 case REQAIOS :
211211 case IOV_RECVAIOS : ;
212- nano_cv * ncv ;
213- if (raio -> type == REQAIOS ) {
214- nano_aio * saio = (nano_aio * ) raio -> next ;
215- ncv = (nano_cv * ) saio -> next ;
216- } else {
217- ncv = (nano_cv * ) raio -> next ;
218- }
219-
212+ nano_cv * ncv = (nano_cv * ) (raio -> type == REQAIOS ? ((nano_sendaio * ) raio -> next )-> next : raio -> next );
220213 nng_mtx * mtx = ncv -> mtx ;
221214 nng_mtx_lock (mtx );
222215 res = raio -> result ;
@@ -259,7 +252,7 @@ SEXP rnng_aio_call(SEXP x) {
259252
260253 switch (TYPEOF (x )) {
261254 case ENVSXP : ;
262- const SEXP coreaio = nano_findVarInFrame (x , nano_AioSymbol );
255+ const SEXP coreaio = FINDVARINFRAME (x , nano_AioSymbol );
263256 if (NANO_TAG (coreaio ) != nano_AioSymbol )
264257 return x ;
265258
@@ -301,7 +294,7 @@ static SEXP rnng_aio_collect_impl(SEXP x, SEXP (*const func)(SEXP)) {
301294
302295 switch (TYPEOF (x )) {
303296 case ENVSXP : ;
304- out = nano_findVarInFrame (func (x ), nano_ValueSymbol );
297+ out = FINDVARINFRAME (func (x ), nano_ValueSymbol );
305298 if (out == R_UnboundValue ) break ;
306299 goto resume ;
307300 case VECSXP : ;
@@ -311,7 +304,7 @@ static SEXP rnng_aio_collect_impl(SEXP x, SEXP (*const func)(SEXP)) {
311304 for (R_xlen_t i = 0 ; i < xlen ; i ++ ) {
312305 env = func (NANO_VECTOR (x )[i ]);
313306 if (TYPEOF (env ) != ENVSXP ) goto exit ;
314- env = nano_findVarInFrame (env , nano_ValueSymbol );
307+ env = FINDVARINFRAME (env , nano_ValueSymbol );
315308 if (env == R_UnboundValue ) goto exit ;
316309 SET_VECTOR_ELT (out , i , env );
317310 }
@@ -346,7 +339,7 @@ SEXP rnng_aio_stop(SEXP x) {
346339
347340 switch (TYPEOF (x )) {
348341 case ENVSXP : ;
349- const SEXP coreaio = nano_findVarInFrame (x , nano_AioSymbol );
342+ const SEXP coreaio = FINDVARINFRAME (x , nano_AioSymbol );
350343 if (NANO_TAG (coreaio ) != nano_AioSymbol ) break ;
351344 nano_aio * aiop = (nano_aio * ) NANO_PTR (coreaio );
352345 nng_aio_stop (aiop -> aio );
@@ -368,7 +361,7 @@ static int rnng_unresolved_impl(SEXP x) {
368361 int xc ;
369362 switch (TYPEOF (x )) {
370363 case ENVSXP : ;
371- const SEXP coreaio = nano_findVarInFrame (x , nano_AioSymbol );
364+ const SEXP coreaio = FINDVARINFRAME (x , nano_AioSymbol );
372365 if (NANO_TAG (coreaio ) != nano_AioSymbol ) {
373366 xc = 0 ; break ;
374367 }
@@ -420,7 +413,7 @@ SEXP rnng_unresolved(SEXP x) {
420413static int rnng_unresolved2_impl (SEXP x ) {
421414
422415 if (TYPEOF (x ) == ENVSXP ) {
423- const SEXP coreaio = nano_findVarInFrame (x , nano_AioSymbol );
416+ const SEXP coreaio = FINDVARINFRAME (x , nano_AioSymbol );
424417 if (NANO_TAG (coreaio ) != nano_AioSymbol )
425418 return 0 ;
426419 nano_aio * aiop = (nano_aio * ) NANO_PTR (coreaio );
0 commit comments