1*30488Slepreau static char Sccsid[] = "@(#)substr.c	1.2	02/15/87";
230480Slepreau /*
330480Slepreau 	Place the `len' length substring of `as' starting at `as[origin]'
430480Slepreau 	in `aresult'.
530480Slepreau 	Return `aresult'.
630480Slepreau 
730480Slepreau   Note: The copying of as to aresult stops if either the
830480Slepreau 	specified number (len) characters have been copied,
930480Slepreau 	or if the end of as is found.
1030480Slepreau 	A negative len generally guarantees that everything gets copied.
1130480Slepreau */
1230480Slepreau 
substr(as,aresult,origin,len)1330480Slepreau char *substr(as, aresult, origin, len)
1430480Slepreau char *as, *aresult;
1530480Slepreau int origin;
1630480Slepreau register unsigned len;
1730480Slepreau {
1830480Slepreau 	register char *s, *result;
1930480Slepreau 
2030480Slepreau 	s = as + origin;
2130480Slepreau 	result = aresult;
2230480Slepreau 	++len;
2330480Slepreau 	while (--len && (*result++ = *s++)) ;
2430480Slepreau 	if (len == 0)
2530480Slepreau 		*result = 0;
2630480Slepreau 	return(aresult);
2730480Slepreau }
28