/* 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 */ }