/*Copyright (C) 1992, 1996 by Thomas Glen Smith. All Rights Reserved.*/
/* litvect APL2 V1.0.0 *************************************************
* The argument is a character string containing zero or more floating *
* constants. If all are valid, they will be converted to internal *
* double floating point, and an aplcb will be initialized to point to *
* this vector. A pointer to the aplcb will be returned. If not all *
* valid, NULL is returned, with aplerr set to 12. *
***********************************************************************/
#define INCLUDES APLCB+STRING
#include "includes.h"
Aplcb litvect(sp)
char *sp; /* Pointer to string being parsed. */
{
Errinit; Errstop; Vector;
Aplcb out;
char *c, *d, *spend;
int splen;
if (errinit()) return(NULL);
spend = sp + (splen = strlen(c = d = sp));
out = vector(&c, spend, 0);
if ((c - d) != splen)
return(errstop(12,NULL,NULL,out)); /* Bad constant. */
return(errstop(0,NULL,NULL,out));
}