Mail Archives: cygwin/2006/12/18/04:43:28
On Dec 17 22:31, Charles Wilson wrote:
> I think that winsup/cygwin/include/utmpx.h should include the following
> definition, similar to the existing one for UTMPX_FILE:
>
> #define WTMPX_FILE _PATH_WTMP
>
> I'm hitting a compile error in rxvt-unicode:
>
> # if defined(HAVE_STRUCT_UTMPX) && defined(HAVE_UPDWTMPX)
> updwtmpx (WTMPX_FILE, utx);
> # endif
>
>
> Both HAVE_STRUCT_UTMPX and HAVE_UPDWTMPX are true, so I think we ought
> also to have WTMPX_FILE. Since cygwin's utmp/wtmp file formats seem to
> be arranged so that they can be opened and used without error by
> functions that expect to populate either struct utmp OR struct utmpx, we
> can use _PATH_UTMP for UTMP_FILE and UTMPX_FILE interchangeably -- that
> part is already in cygwin's code. The same logic, I think, holds for
> _PATH_WTMP, WTMP_FILE, and WTMPX_FILE.
>
> Hence the requested #define, above.
I was going to do that at one point but I had a reason not to.
When I created the utmpx/wtmpx handling, I intended to keep backward
compatible with the existing utmp and wtmp files. So the utmpx/wtmpx
functions are only wrappers around the utmp/wtmp functions and the
file format is that of utmp/wtmp.
Unfortunately there are applications which access the wtmp file
manually, namely tools to inspect the content, for instance, last(1).
If the WTMPX_FILE define is present, last tries to read this file in
wtmpx format and fails.
A couple of weeks ago I started to switch Cygwin to the wtmpx format
but the problem is the same, just backwards. The only way I see to
keep backwards compatibility while switching to a new format is to
use new files /var/log/utmpx and /var/run/wtmpx. In theory, this
should only require to rebuild the inspection tools like last. But
it wouldn't be a nice transition, rather a cut.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -