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->arg= copystr(arg);
e->value= copystr(value); 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; return 0;
} }
int b_setvar(int flags, char *name, char *value) int b_setvar(int flags, char *name, char *value)
/* Set variable or simple function. */ /* 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) void b_unset(char *name)