386BSD 0.1 development
[unix-history] / usr / othersrc / contrib / isode / compat / str2elem.c
/* str2elem.c - string to list of integers */
#ifndef lint
static char *rcsid = "$Header: /f/osi/compat/RCS/str2elem.c,v 7.2 91/02/22 09:15:55 mrose Interim $";
#endif
/*
* $Header: /f/osi/compat/RCS/str2elem.c,v 7.2 91/02/22 09:15:55 mrose Interim $
*
*
* $Log: str2elem.c,v $
* Revision 7.2 91/02/22 09:15:55 mrose
* Interim 6.8
*
* Revision 7.1 90/11/21 11:29:57 mrose
* sun
*
* Revision 7.0 89/11/23 21:23:35 mrose
* Release 6.0
*
*/
/*
* NOTICE
*
* Acquisition, use, and distribution of this module and related
* materials are subject to the restrictions of a license agreement.
* Consult the Preface in the User's Manual for the full terms of
* this agreement.
*
*/
/* LINTLIBRARY */
#include <ctype.h>
#include <stdio.h>
#include "general.h"
#include "manifest.h"
/* \f */
int str2elem (s, elements)
char *s;
unsigned int elements[];
{
register int i;
register unsigned int *ip;
register char *cp,
*dp;
ip = elements, i = 0;
for (cp = s; *cp && i <= NELEM; cp = ++dp) {
for (dp = cp; isdigit ((u_char) *dp); dp++)
continue;
if ((cp == dp) || (*dp && *dp != '.'))
break;
*ip++ = (unsigned int) atoi (cp), i++;
if (*dp == NULL)
break;
}
if (*dp || i >= NELEM)
return NOTOK;
*ip = 0;
return i;
}