Metropoli BBS
VIEWER: aplgrous.c MODE: TEXT (ASCII)
/*Copyright (C) 1992, 1995 by Thomas Glen Smith.  All Rights Reserved.*/
/* aplgrous APL2 V1.0.0 ************************************************
* Called from aplgroup after the stack of new group member names has   *
* been created, aplgrous will create the new group name aplcb and call *
* assign with it.                                                      * 
***********************************************************************/
#define INCLUDES APLCB+APLTOKEN+STRING
#include "includes.h"
void aplgrous(pgrphdr,rows,cols,nameptr)
Apltoken *pgrphdr;			/* fifo stack of new names */
int rows;					/* ptr to new row count */
int cols;					/* ptr to new col count */
char *nameptr;				/* group name */
{
	Aplstr; Assign; Getcb;
	Aplcb out;
	Apltoken tok;
	char *cp;

	out = getcb(NULL,rows*cols,APLCHAR+APLTEMP+APLGROUP,2,NULL);
	if (out == NULL) return; /* out of storage */
	*(out->apldim) = rows;
	*(out->apldim + 1) = cols;
	cp = out->aplptr.aplchar;
	for (tok = *pgrphdr; tok != NULL;
		tok = tok->token_queue.token_next_ptr)
		cp = aplstr(cp, tok->token_ptr.token_string, cols);
	out = assign(nameptr,out); /* add name to variable pool */
}
[ RETURN TO DIRECTORY ]