[sisyphus] coreutils, who )
Artem
=?iso-8859-1?q?x-console_=CE=C1_yandex=2Eru?=
Вт Май 16 11:04:08 MSD 2006
Michael A. Kangin wrote:
> On 16 мая 2006 01:37 Artem <x-console на yandex.ru> wrote:
>
>
>>Да, я уже нашел _одну_ строчку в coreutils-xxx/libs/readutmp.c из-за
>>которой эта вещь происходит.
>
>
Эта информация скорее уже к coreutils@ . Описанное поведение who (см.
тред) аналогично проявляется и в users.
Предпосылки:
в coreutils-5.94/lib/readutmp.c , line 107, добавили вызов ф-ции:
<skip>
if (desirable_utmp_entry (u, options))
<skip>
для отбора записей utmp по определенным критериям
Причина:
в coreutils-5.94/lib/users.c , line 138,
<skip>
switch (argc - optind)
{
case 0: /* users */
users (UTMP_FILE, READ_UTMP_CHECK_PIDS);
^^^^^^^^^^^^^^^^^^^^^
вызов users без параметров,
параметр READ_UTMP.... == 1
break;
case 1: /* users <utmp file> */
users (argv[optind], 0);
^^^^^^^^^^^^^^^^^^^^^^^
а вот здесь при users <utmp file>
подставляется "0" и выводится все записи.
break;
<skip>
Аналогично в coreutils-5.94/src/who.c, line 815
<skip>
case 0: /* who */
who (UTMP_FILE, READ_UTMP_CHECK_PIDS);
break;
case 1: /* who <utmp file> */
who (argv[optind], 0);
break;
<skip>
Спрашивается:
а) зачем добавлено такое поведение?
б) почему не сказано ничего в man ?
в) это бага? Или фича?
--
Rgds, Artem.
Подробная информация о списке рассылки Sisyphus