/* Copyright (C) 1992, 1995 by Thomas Glen Smith. All Rights Reserved. */
/* memixd APL2 V1.0.0 **************************************************
* Called from memixcm to complete processing for member and indexof *
* when the input data are characters (APLCHAR). *
***********************************************************************/
#define INCLUDES APLCB
#include "includes.h"
Aplcb memixd(key,left,rite,out)
int key;
Aplcb left,rite,out;
{
Errstop;
extern int indxorg;
int i,j,k,*op;
char *lp,*rp,*lw;
lp=left->aplptr.aplchar;
rp=rite->aplptr.aplchar;
op = out->aplptr.aplint; /* output data ptr */
for (i=0; i<rite->aplcount; i++) {
lw = lp; /* left data ptr */
k=0;
for (j=0; j<left->aplcount; j++) {
if (*rp == *lw++) k=1;
if (k) break;
}
if (key) k = j+indxorg; /* it is indexof */
*op++ = k;
rp++;
}
return(errstop(0,left,rite,out));
}