Ejemplo n.º 1
0
int pathinclude(const char *dir)
{
    register Dir_t *dp;

    if (dir && *dir && !streq(dir, ".")) {
	if (!(dp = oldof(0, Dir_t, 1, strlen(dir))))
	    return -1;
	strcpy(dp->dir, dir);
	if (state.tail)
	    state.tail = state.tail->next = dp;
	else
	    state.head = state.tail = dp;
    }
    return 0;
}
Ejemplo n.º 2
0
extern int
regexec(const regex_t* p, const char* s, size_t nmatch, oldregmatch_t* oldmatch, regflags_t flags)
{
	if (oldmatch)
	{
		regmatch_t*	match;
		size_t		i;
		int		r;

		if (!(match = oldof(0, regmatch_t, nmatch, 0)))
			return -1;
		if (!(r = regexec_20120528(p, s, nmatch, match, flags)))
			for (i = 0; i < nmatch; i++)
			{
				oldmatch[i].rm_so = match[i].rm_so;
				oldmatch[i].rm_eo = match[i].rm_eo;
			}
		free(match);
		return r;
	}
	return regexec_20120528(p, s, 0, NiL, flags);
}
Ejemplo n.º 3
0
int
pathinclude(const char* dir)
{
	register Dir_t*	dp;
	struct stat	st;

	if (dir && *dir && !streq(dir, ".") && directory(dir, &st))
	{
		for (dp = state.head; dp; dp = dp->next)
			if (streq(dir, dp->dir))
				return 0;
		if (!(dp = oldof(0, Dir_t, 1, strlen(dir))))
			return -1;
		strcpy(dp->dir, dir);
		dp->next = 0;
		if (state.tail)
			state.tail = state.tail->next = dp;
		else
			state.head = state.tail = dp;
	}
	return 0;
}