What's your take on this? My interpretation of the POSIX doc is that pututxline(3) should start searching from the last entry found/read, not from the next entry after it.
Well, yes, as you said, the spec is unclear, but the login(1) and glibc interpretation makes sense: after a getutxline() you kinda want to be able to directly pututxline() on the same record. In any case utmps should align on existing behaviour, even when it contradicts the spec - it already does that for record selection, for instance: glibc's getutxid() is not quite compliant (I forget the exact details but a strictly compliant utmps-utmpd would not work and I had to modify its id matching). So yes, I'll change the record-reading routines so they stop on the current record on success. I'll also add WTMPX_FILE because it doesn't harm anything - it treads on namespace a bit, but glibc's already does. Thanks for the reports. -- Laurent