ftp.nice.ch/pub/next/unix/audio/Cmix.N.s.tar.gz#/cmix/sys/vector.c

This is vector.c in view mode; [Download] [Up]

/*
 *	vector: isolate command and put floating point args into array
 *	Arguments:
 *		pointer to buffer to isolate
 *		pointer to floating array for parameter storage
 *	Call:
 *	Return:	Number of floating point parameters read
 *	Side Effects:
 *		buffer has null inserted to terminate keyword
 */
#include        <ctype.h>

vector(buf, fp)
register char *buf;
register float *fp;
{
	register n_args = 0;

	/*  Isolate keyword from rest of buffer	*/
	while (!isspace(*buf))	buf++;
	*buf++ = '\0';
	while (isspace(*buf))	buf++;

	/*  Iteratively grab prameters		*/
	while (sscanf(buf, "%f", fp++) > 0)	{
		n_args++;
		/*  Skip over the number text we just read in	*/
		while (!isspace(*buf))	{
			if (*buf != '\0')
				buf++;
			else	/*  Hooray for structured programming	*/
				goto endwhile;
		}
		/*  Skip over any space				*/
		while (isspace(*buf))	{
			if (*buf != '\0')
				buf++;
			else	/*  Hooray for structured programming	*/
				goto endwhile;
		}
	}
endwhile:
	return (n_args);
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.