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:
parent
5415e8280f
commit
27b7e7c72e
1 changed files with 16 additions and 1 deletions
17
boot/boot.c
17
boot/boot.c
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue