Ejemplo n.º 1
0
Archivo: var.c Proyecto: dezelin/kBuild
int
exportcmd(shinstance *psh, int argc, char **argv)
{
    struct var *vp;
    char *name;
    const char *p;
    int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
    int pflag;

    pflag = nextopt(psh, "p") == 'p' ? 3 : 0;
    if (argc <= 1 || pflag) {
        showvars(psh, pflag ? argv[0] : 0, flag, pflag );
        return 0;
    }

    while ((name = *psh->argptr++) != NULL) {
        if ((p = strchr(name, '=')) != NULL) {
            p++;
        } else {
            vp = find_var(psh, name, NULL, NULL);
            if (vp != NULL) {
                vp->flags |= flag;
                continue;
            }
        }
        setvar(psh, name, p, flag);
    }
    return 0;
}
Ejemplo n.º 2
0
int
setcmd(int argc, char **argv)
{
	if (argc == 1)
		return showvars(nullstr, 0, VUNSET);
	INTOFF;
	options(0);
	optschanged();
	if (*argptr != NULL) {
		setparam(argptr);
	}
	INTON;
	return 0;
}