… | |
… | |
390 | #endif |
390 | #endif |
391 | } |
391 | } |
392 | |
392 | |
393 | rxvt_ptytty_unix::~rxvt_ptytty_unix () |
393 | rxvt_ptytty_unix::~rxvt_ptytty_unix () |
394 | { |
394 | { |
|
|
395 | #if UTMP_SUPPORT |
395 | logout (); |
396 | logout (); |
|
|
397 | #endif |
396 | put (); |
398 | put (); |
397 | } |
399 | } |
398 | |
400 | |
399 | void |
401 | void |
400 | rxvt_ptytty_unix::put () |
402 | rxvt_ptytty_unix::put () |
… | |
… | |
537 | write (sock_fd, &cmd.id, sizeof (cmd.id)); |
539 | write (sock_fd, &cmd.id, sizeof (cmd.id)); |
538 | } |
540 | } |
539 | } |
541 | } |
540 | else if (cmd.type == command::login) |
542 | else if (cmd.type == command::login) |
541 | { |
543 | { |
|
|
544 | #if UTMP_SUPPORT |
542 | if (find (ptys.begin (), ptys.end (), cmd.id)) |
545 | if (find (ptys.begin (), ptys.end (), cmd.id)) |
543 | { |
546 | { |
544 | cmd.hostname[sizeof (cmd.hostname) - 1] = 0; |
547 | cmd.hostname[sizeof (cmd.hostname) - 1] = 0; |
545 | cmd.id->login (cmd.cmd_pid, cmd.login_shell, cmd.hostname); |
548 | cmd.id->login (cmd.cmd_pid, cmd.login_shell, cmd.hostname); |
546 | } |
549 | } |
|
|
550 | #endif |
547 | } |
551 | } |
548 | else if (cmd.type == command::destroy) |
552 | else if (cmd.type == command::destroy) |
549 | { |
553 | { |
550 | rxvt_ptytty **pty = find (ptys.begin (), ptys.end (), cmd.id); |
554 | rxvt_ptytty **pty = find (ptys.begin (), ptys.end (), cmd.id); |
551 | |
555 | |