home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / mod.std.unix.v7 / text0095.txt < prev    next >
Encoding:
Internet Message Format  |  1987-06-30  |  2.1 KB

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