쓸만한 함수

string.h의 strtok_r() 함수

char *
strtok_r(char *s, const char *delimiters, char **save_ptr)
{
	char *token;

	ASSERT(delimiters != NULL);
	ASSERT(save_ptr != NULL);

	/* S가 NULL이 아니면 S에서 시작합니다.
	   S가 NULL이면 저장된 위치에서 시작합니다. */
	if (s == NULL)
		s = *save_ptr;
	ASSERT(s != NULL);

	/* 현재 위치에서 모든 DELIMITERS(구분자)를 건너뜁니다. */
	while (strchr(delimiters, *s) != NULL)
	{
		/* 만약 null 바이트('\\0')를 찾고 있다면, 모든 문자열은 끝에 null 바이트를
		   포함하므로 strchr()는 항상 NULL이 아닌 값을 반환합니다. */
		if (*s == '\\0')
		{
			*save_ptr = s;
			return NULL;
		}

		s++;
	}

	/* 문자열 끝까지 DELIMITERS가 아닌 문자를 건너뜁니다. */
	token = s;
	while (strchr(delimiters, *s) == NULL)
		s++;
	if (*s != '\\0')
	{
		*s = '\\0';
		*save_ptr = s + 1;
	}
	else
		*save_ptr = s;
	return token;
}

구현/수정해야 하는 함수

process_exec