>I mentioned that utmpx is not required by POSIX, and you replied that it's >more complicated than that. Could you expand on that? I'm interested to >hear more, because I personally am not very familiar with this stuff.
Okay. In short, when when you say utmpx isn't required by POSIX, it all depends on what you MEAN by "POSIX". The getutxent() functions are part of the X/Open System Interface extension (XSI). That includes things like c99, locale support, mmap(), and other stuff that modern systems have. So does that mean that they're REQUIRED by POSIX? Depends if by POSIX you mean XSI or not. But whether or not something is REQUIRED by POSIX isn't really the issue here. The real issue in my mind is portability. The older style utmp functionality was never standardized and different operating systems had different structure members with slightly different meanings. Application writers had to deal with this mess. With utmpx this mess got cleaned up and you were guaranteed a minimum set of structure members and their meanings were defined clearly. This situation is vastly improved for application writers. There may be some legitimate griping about whether or not it was worth it to transition from utmp to utmpx, but for me as an application developer it's clearly a win. And here's my real beef with the situation - as far as I can tell, literally EVERY OTHER Unix has gotten on the utmpx bandwagon (I don't count the one random C library implementation you mentioned earlier). If there was some legitimate technical reason that it couldn't be implemented, or it was implemented in -current but hadn't made it into a release yet, ok, fine, I'd be up for meeting OpenBSD halfway on this. But that's not really the situation, is it? I think Paul Vixie accurately summarized the situation and that really doesn't motivate me to compromise here. You'll make the case that the changes are small, and I will agree that they're not huge ... but nmh is a gigantic mess of #ifdefs and one of my long-term goals is to reduce that mess. You have to draw a line somewhere, and this is where I've decided to draw it. Is it arbitrary? Well, yeah. But if those lines didn't get drawn then we'd never get rid of any old code at all and I'd be working around a bunch of #ifdef statements for sgtty support. >The patch William mentioned adds only 15 lines; it's reproduced below. >Would you consider committing it? Me? No, for the reasons stated above. Also, I was under the impression that OpenBSD still supported the older getutent() functions; if it doesn't then the situation is even worse than I thought. --Ken _______________________________________________ Nmh-workers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/nmh-workers
