Beispiel #1
0
/*run buildin cmds*/
int buildin(/*0: Is not a buildin cmd */
            /*1: Is a buildin cmd*/ 
    int arg_c, /*argument count*/
    char arg[][MAXLEN + 1] /*arguments*/
    ) 
{
    /*compare cmds*/
	if (!strcmp(arg[0],"cd"))
	{
	    if (arg_c)
		    b_cd(arg[1]);
		else
		    b_pwd();
		return 1;
	}
	if (!strcmp(arg[0],"pwd"))
	{
		b_pwd();
        return 1;
	}
	if (!strcmp(arg[0],"clr"))
	{
		b_clr();
        return 1;
	}
	if (!strcmp(arg[0],"dir"))
	{
	    if (arg_c > 0)
            b_dir(arg[1]);
        else
            b_dir(".");
        return 1;
	}
    if (!strcmp(arg[0],"echo"))
    {
        b_echo(arg_c,arg);
        return 1;
    }
    if (!strcmp(arg[0],"help"))
    {
        b_help();
        return 1;
    }
    if (!strcmp(arg[0],"quit"))
    {
        b_quit();
        return 1;
    }
    if (!strcmp(arg[0],"environ"))
    {
        b_env();
        return 1;
    }
	return 0;
}
Beispiel #2
0
void	back(char ***penv)
{
    int j;
    char *str;
    char **tab;

    j = -1;
    while ((*penv)[++j])
    {
        if (ft_strncmp((*penv)[j], "OLDPWD", 6) == 0)
        {
            str = ft_strsub((*penv)[j], 8, ft_strlen((*penv)[j]));
            tab = ft_strsplit(ft_strjoin("cd /", str), ' ');
            b_cd(0, tab, penv);
            break;
        }
    }
}
Beispiel #3
0
void	home(char ***penv)
{
    int j;
    char **tab;
    char *str;

    j = -1;

    while ((*penv)[++j])
    {
        if (ft_strncmp((*penv)[j], "HOME", 4) == 0)
        {
            str = ft_strsub((*penv)[j], 6, ft_strlen((*penv)[j]));
            tab = ft_strsplit(ft_strjoin("cd /", str), ' ');
            b_cd(0, tab, penv);
            break;
        }
    }
}