Metropoli BBS
VIEWER: aplpnam.c MODE: TEXT (ASCII)
/* Copyright (C) 1992 by Thomas Glen Smith.  All Rights Reserved. */
/* aplpnam APL2 V1.0.0 *************************************************
* Called from aplparsf when the current character is alphabetic to     *
* parse a name.                                                        *
***********************************************************************/
#define INCLUDES APLMEM+APLTOKEN
#include "includes.h"
void aplpnam(cur,s,sp,spend)
Apltoken cur;
char *s;       /* Pointer to start of name. */
char *sp[];    /* Pointer to pointer to string being parsed. */
char *spend;   /* Pointer to after end of string being parsed. */
{
     Aplnamsb;
     char *u,*v;
     int i,j;

     u = sp[0] = aplnamsb(sp[0],spend); /* find end of name */
     j = (u-s); /* j = length(name) */
     v = malloc(j+1); /* place to store name */
     if (v == NULL) {
          cur->token_code = MESSAGE_TOKEN;
          cur->token_ptr.token_string = "out of memory";
          return;
     }
     cur->token_ptr.token_string = v; /* store in token element */
     while (j--)
          *v++ = *s++; /* copy operand name to token string */
     *v = '\0'; /* mark end of operand name */
}
[ RETURN TO DIRECTORY ]