mirror of https://github.com/ericonr/sndio.git
Properly handle '/' separator in sndioctl.
This commit is contained in:
parent
97442bf983
commit
cb1c15989c
|
@ -562,23 +562,22 @@ dump(void)
|
||||||
int
|
int
|
||||||
cmd(char *line)
|
cmd(char *line)
|
||||||
{
|
{
|
||||||
char *pos = line;
|
char *pos, *group;
|
||||||
struct info *i, *e, *g;
|
struct info *i, *e, *g;
|
||||||
char group[SIOCTL_NAMEMAX];
|
|
||||||
char func[SIOCTL_NAMEMAX];
|
char func[SIOCTL_NAMEMAX];
|
||||||
char astr[SIOCTL_NAMEMAX], vstr[SIOCTL_NAMEMAX];
|
char astr[SIOCTL_NAMEMAX], vstr[SIOCTL_NAMEMAX];
|
||||||
int aunit, vunit;
|
int aunit, vunit;
|
||||||
unsigned npar = 0, nent = 0;
|
unsigned npar = 0, nent = 0;
|
||||||
int val, comma, mode;
|
int val, comma, mode;
|
||||||
|
|
||||||
if (!parse_name(&pos, group))
|
pos = strrchr(line, '/');
|
||||||
return 0;
|
if (pos != NULL) {
|
||||||
if (*pos == '/')
|
group = line;
|
||||||
|
pos[0] = 0;
|
||||||
pos++;
|
pos++;
|
||||||
else {
|
} else {
|
||||||
/* this was node string, go backwards and assume no group */
|
group = "";
|
||||||
pos = line;
|
pos = line;
|
||||||
group[0] = '\0';
|
|
||||||
}
|
}
|
||||||
if (!parse_node(&pos, astr, &aunit))
|
if (!parse_node(&pos, astr, &aunit))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue