Committed the wrong version in r201484. This time really fix the "-t"

functionality.  Per the regression tests (pgrep-t.t & pkill-t.t), "-t"
should accept "v1", which means a plain number should be accepted for
UNIX98-style PTY's.
This commit is contained in:
obrien 2010-01-04 10:50:17 +00:00
parent 986de484ed
commit 6eb349e6b9

View File

@ -670,6 +670,20 @@ makelist(struct listhead *head, enum listtype type, char *src)
if (li->li_number == 0)
li->li_number = -1; /* any jail */
break;
case LT_TTY:
if (li->li_number < 0)
errx(STATUS_BADUSAGE,
"Negative /dev/pts tty `%s'", sp);
snprintf(buf, sizeof(buf), _PATH_DEV "pts/%s",
sp);
if (stat(buf, &st) != -1)
goto foundtty;
if (errno == ENOENT)
errx(STATUS_BADUSAGE, "No such tty: `"
_PATH_DEV "pts/%s'", sp);
err(STATUS_ERROR, "Cannot access `"
_PATH_DEV "pts/%s'", sp);
break;
default:
break;
}
@ -705,10 +719,6 @@ makelist(struct listhead *head, enum listtype type, char *src)
if (stat(buf, &st) != -1)
goto foundtty;
snprintf(buf, sizeof(buf), _PATH_DEV "pts/%s", cp);
if (stat(buf, &st) != -1)
goto foundtty;
if (errno == ENOENT)
errx(STATUS_BADUSAGE, "No such tty: `%s'", sp);
err(STATUS_ERROR, "Cannot access `%s'", sp);