/*  Copyright 1983 by the Massachusetts Institute of Technology  */
atoi(ap)
char *ap;
{
	register n;
	register char *p;
	int f;

	p = ap;
	n = 0;
	f = 0;
loop:
	while(*p == ' ' || *p == '	')
		p++;
	if(*p == '-') {
		f++;
		p++;
		goto loop;
	}
	while(*p >= '0' && *p <= '9')
		n = n*10 + *p++ - '0';
	if(f)
		n = -n;
	return(n);

}

/* ATOO(s) converts a string s from octal to an integer. */

atoo(s)
	register char *s; {
	int num=0;

	while(*s) num = num*8 + (*s++ - '0');
	return num; }

/* Concatenate s2 on the end of s1.  S1's space must be large enough.
 			 Return s1. */

char *strcat(s1, s2)
	register char *s1, *s2;{
	char *os1;

	os1 = s1;
	while (*s1++) ;

	--s1;
	while (*s1++ = *s2++) ;

	return os1; }

/*   Compare strings:  s1>s2: >0  s1==s2: 0  s1<s2: <0    */


strcmp(s1, s2)
	register char *s1, *s2; {

	while (*s1 == *s2++)
		if (*s1++=='\0')
			return(0);
	return(*s1 - *--s2); }

/*   Copy string s2 to s1.  s1 must be large enough.  Return s1.  */

char *strcpy(s1, s2)
	register char *s1, *s2; {
	char *os1;

	os1 = s1;
	while (*s1++ = *s2++) ;
	return os1; }

strlen(s)
	register char *s; {
	register n;

	n = 0;
	while (*s++) n++;
	return n; }
