home *** CD-ROM | disk | FTP | other *** search
- From: utah-cs!cbosgd!cbosgd.ATT.COM!mark (Mark Horton)
- Date: Mon, 27 Oct 86 20:51:58 est
-
- In comparing various C libraries and standards, I discovered several
- important routines that are in neither POSIX nor X3J11. I'd like to
- find out why they are missing. Would you please either answer these,
- ask the appropriate person, or post to mod.std.unix?
-
- [ Post. Most of them are higher level than X3J11 or 1003.1 address. -mod ]
-
- Some of these functions were explicitly created to enhance portability,
- so it seems surprising to omit them.
-
- getopt This function is now present in System V and in 4.3BSD. Two
- public domain implementations have been released, one by
- Toronto and one by AT&T. AT&T is pushing getopt as a standard
- way to process arguments. Yet it's unwise to use it if you
- can't be reasonably assured that it will work everywhere.
-
- I can even imagine that another operating system might support
- getopt to crack their own native conventions; for example, on
- MS DOS it might check for options beginning with / (or maybe
- even with the switch char.) On a MacIntosh, it might be possible
- to get options from mouse conventions or a menu (possibly with
- the use of an additional table for menu labels.)
-
- curses Both 4BSD and System V have curses libraries which are largely
- compatible, making curses the most portable and highest level
- way to write screen oriented software. Many curses functions
- were explicitly included to assist portability. Yet a system
- can conform to POSIX and not provide any screen handling support.
-
- I would recommend that some appropriate subset of curses be
- specified by POSIX. The subset should be the intersection
- of 4BSD and System V curses (essentially this means 4BSD minus
- the unportable features) with a dozen or so System V functions
- that enhance portability included (such as erasechar and cbreak.)
-
- popen This is part of standard I/O, but specific to UNIX, it's in
- every version of UNIX I know of. Yet it's in neither X3J11
- nor POSIX.
-
- I also ran into problems with <memory.h> and memccpy, but these are
- conflicts between SVID and X3J11 which I will direct elsewhere.
-
- Mark
-
- Volume-Number: Volume 7, Number 96
-
-