Metropoli BBS
VIEWER: savfscb.c MODE: TEXT (ASCII)
/*Copyright (C) 1992, 1994 by Thomas Glen Smith.  All Rights Reserved.*/
/* savfscb APL2 V1.0.0 *************************************************
* Called from savfsub to save an apl variable.                         *
***********************************************************************/
#define INCLUDES APLCB+IO+STDIO+STRING
#include "includes.h"
void savfscb(fp,rite)
int fp; /* file descriptor handle */
Aplcb rite; /* apl variable to save */
{
	Savfscb;
	int i,j,k;
	int *ip;
	char *cp;

	i = write(fp,&(rite->aplflags),	sizeof(rite->aplflags));
	i = write(fp,&(rite->aplcount),	sizeof(rite->aplcount));
	i = write(fp,&(rite->aplrank),	sizeof(rite->aplrank));
	i = write(fp,&(rite->aplsize),	sizeof(rite->aplsize));
	ip = rite->apldim; /* save dimensions */
	for ( j = rite->aplrank ; j > 0 ; j-- )
		i = write(fp, ip++, sizeof(int));
	cp = rite->aplptr.aplchar; /* save data */
	for ( j = rite->aplcount ; j > 0 ; j-- ) {
     	if (rite->aplflags & APLAPL)
          	savfscb(fp,*((Aplcb*) cp));
		else i = write(fp, cp, rite->aplsize);
		cp += rite->aplsize;
	}
}
[ RETURN TO DIRECTORY ]