/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */ /* aplmatck APL2 V1.0.0 ************************************************ * Called by aplmatci when either lefttype or ritetype is APLAPL. * ***********************************************************************/ #define INCLUDES APLCB #include "includes.h" int aplmatck(ld, rd, lefttype, ritetype) Apluptr ld, rd; int lefttype, ritetype; { Aplmatch; Aplmatci; Aplcb cb; Apluptr dataptr; int cbtype,datatype; if (lefttype == ritetype) /* both must be APLAPL */ return(aplmatch(*ld.aplapl,*rd.aplapl)); if (lefttype == APLAPL) { cb = *ld.aplapl; dataptr = rd; datatype = ritetype; } else { cb = *rd.aplapl; dataptr = ld; datatype = lefttype; } if (cb->aplrank != 0) return(0); cbtype = cb->aplflags & (APLMASK + APLAPL); if ((cbtype != datatype) && ((cbtype + datatype) != (APLNUMB + APLINT))) return(0); return(aplmatci(dataptr, cb->aplptr, datatype, cbtype)); }