Device variables get copies of their contents in *_n variables for scripts

that want the device name (as opposed to the number for the kernel).
This commit is contained in:
Ben Gras 2005-05-03 15:38:41 +00:00
parent 5415e8280f
commit 27b7e7c72e

View file

@ -741,13 +741,28 @@ int b_setenv(int flags, char *name, char *arg, char *value)
}
e->arg= copystr(arg);
e->value= copystr(value);
if(e->flags & E_DEV) {
char newname[30];
strncpy(newname, name, sizeof(newname)-3);
newname[sizeof(newname)-4] = '\0';
strcat(newname, "_n");
b_setenv(E_VAR, newname, arg, value);
}
return 0;
}
int b_setvar(int flags, char *name, char *value)
/* Set variable or simple function. */
{
return b_setenv(flags, name, null, value);
int r;
if((r=b_setenv(flags, name, null, value))) {
return r;
}
return r;
}
void b_unset(char *name)