home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume29 / parseargs / part03 / patchlevel.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-19  |  7.5 KB  |  166 lines

  1. /*************************************************************************
  2. ** ^FILE: patchlevel.h - current patchlevel for parseargs
  3. **
  4. ** ^HISTORY:
  5. **
  6. **    01/02/92    Brad Appleton    <brad@ssd.csd.harris.com>
  7. **    Patch11
  8. **    - Added strndup() to strfuncs.[ch]
  9. **    - vms_args.c:vms_parse was not setting avstr if ps_NOTCMDLINE was set.
  10. **    - made a few other fixes for VMS. Gratuitous "thank you"s go out to
  11. **      Mike Levin for helping me find and test these fixes (thanx Mike!).
  12. **    - added VMSbuild.com (contributed by Luke Brennan) to build parseargs
  13. **      on VAX/VMS.
  14. **    - fixed unix_man.c to call indent_para() properly.
  15. **    - added support for TCL to parseargs(1).
  16. **    - changed the way that parseargs(1) handles escape-sequences.
  17. **
  18. **    12/05/91    Brad Appleton    <brad@ssd.csd.harris.com>
  19. **    Patch10
  20. **    - Fix bug that was introduced in last patch. Pgopen() was not
  21. **      using $USAGE_PAGER, it was only using $PAGER.
  22. **    - When Earl added the extra argument to indent_para(), he forgot to
  23. **      include the argument when printing the command description. I added
  24. **      this into *_args.c
  25. **    - Added #ifdef POSIX_SOURCE stuff to unix_args.c to allow the use 
  26. **      of '--' instead of '+' as the long option prefix.
  27. **
  28. **    08/27/91    Brad Appleton    <brad@ssd.csd.harris.com>
  29. **    08/27/91    Earl Chew    <cechew@bruce.cs.monash.edu.au>
  30. **    Patch09
  31. **    - Added proper support for unwritable strings
  32. **    - strfuncs.c/strsplit():
  33. **      Leading, and in particular, trailing space trimming may spin off
  34. **      the end of the token string. This occurs when the string is empty,
  35. **      or when it has trailing space.
  36. **      Out of memory error doesn't call syserr() like the rest of the
  37. **      routines do.
  38. **    - xparse.c/parsecntl():
  39. **      Documentation says that the fourth parameter for pc_ARGFLAGS and
  40. **      pc_PARSEARGS should be either argMask_t (promoted to int) in the
  41. **      case of writes, or argMask_t * in the case of reads. The code is 
  42. **      at odds with the documentation and requires (int *) on reads.
  43. **      Also, should check for NULL cmd-name before passing it to strdup().
  44. **    - vms_args.c/is_cmdline():
  45. **      Mike Levin pointed out to me that if lib$get_foreign returns a
  46. **      zero-length string then the proper actions are not taken. This
  47. **      has been fixed.
  48. **    - vms_args.c, parseargs.h, xparse.c
  49. **      For vms_style I added a new parse-state called ps_NOTCMDLINE.
  50. **      When this flag is SET, then vms_parse() knows for a fact that
  51. **      the given argv[] array is NOT from the cmdline so it doesnt even
  52. **      need to call is_cmdline(). SO Now I just have the proper routines
  53. **      in xparse.c set this flag before calling vms_parse() (and unset
  54. **      the flag when they are done).
  55. **    - vms_args.c/vms_parse():
  56. **      ARGVALGIVEN was set instead of ARGGIVEN (this was wrong).
  57. **
  58. **
  59. **    08/15/91    Brad Appleton    <brad@ssd.csd.harris.com>
  60. **    Patch08
  61. **    - fixed some typos in the comments (SIDE-EFFECTS was misspelled
  62. **      everywhere in the comments for the functions).
  63. **    - fixed up external definition of ProgName to work for C++
  64. **      (added extern "C").
  65. **    - fixed up lparseargs() and vparseargs to free the argument vector
  66. **      when it was finished with it.
  67. **    - added some more comments to xparse.c and parseargs.c.
  68. **
  69. **    06/05/91    Brad Appleton    <brad@ssd.csd.harris.com>
  70. **    Patch07
  71. **    - fixed the "Intro" file to correctly show how to invoke parseargs(3)
  72. **      (the arguments where in the wrong order).
  73. **    - added stuff in #ifdef UNWRITABLE_STRING_LITERALS to work for machines
  74. **      and compilers that dont allow the programmer to modify string literals.
  75. **    - documented in the README file, all the various compile-time constants
  76. **      that may change the behavior of parseargs.
  77. **    - sparseargs neglected to free the argument-vector when it was done
  78. **      using it.
  79. **
  80. **    05/11/91    Brad Appleton    <brad@ssd.csd.harris.com>
  81. **    Patch06
  82. **    - parsecntl(3) now correctly handles mispelled keywords for the
  83. **      pc_ARGFLAGS request (it was looping forever).
  84. **    - fixed an error in the documentation (a "NOT" was omitted).
  85. **    - added #ifdef SVR4 stuff to unix_man.c to print System V Release 4
  86. **      style manual pages.
  87. **    - allowed "sname=aname" syntax in the ad_prompt field of an ARGDESC
  88. **      in addition to the existing syntax. This new syntax allows argument
  89. **      names to be be completely different from keyword names.
  90. **    - changed get_name() & get_keyword to get_argname() & get_kwdname()
  91. **      (respectively) in strfuncs.[ch]. Also sped up the algorithm to get
  92. **      the keyword (since it no longer needs malloc).
  93. **
  94. **    04/25/91    Brad Appleton    <brad@ssd.csd.harris.com>
  95. **    Patch05
  96. **    - documented support for zsh in parseargs(1)
  97. **    - added missing call to pclose() in pgopen.c:pgclose()
  98. **    - added zsh to the list of shells supported by parseargs(1)
  99. **      (I have yet to document this in the man-pages)
  100. **    - changed the shell_info structure used by parseargs(1) to 
  101. **      represent different shells. It should now be much simpler
  102. **      to add new shells to parseargs.c
  103. **    - fixed a bug in strfuncs.c:basename() for VMS systems
  104. **    - added more comments to explain whats going on in each <os>_args.c
  105. **    - updated the README file to correspond with the patchlevel(s)
  106. **    - updated dependencies in doc/Makefile
  107. **
  108. **    04/10/91    Brad Appleton    <brad@ssd.csd.harris.com>
  109. **    Patch04
  110. **    - fixed problem with prompting in xparse.c:prompt_user()
  111. **    - under VMS, getenv was defined to be 'getsymbol', it should
  112. **      be 'get_symbol' (note the underscore).
  113. **    - now includes <errno.h> to declare errno
  114. **    - parseargs no longer includes <fcntl.h>
  115. **    - fix bug in vms_args.c printing '[]' for required args and vis-a-vis
  116. **    - fixed bug in argInput and argOutput in argtype.c for VMS
  117. **    - fixed bug in <os>_args.c where ARGVALGIVEN was improperly being
  118. **      cleared if the argument was a list or a vector. This was causing
  119. **      parseargs(1) to screw up on optional lists.
  120. **    - fixed bug in strfuncs.c:strnicmp() (it was ignoring the length)
  121. **    - changed strfuncs.[ch] so that my version of strdup is always used
  122. **      (my version exits if malloc failed, others return NULL).
  123. **    - Added some changes for SUN and VAX
  124. **    - Added -1 option to parseargs(1)
  125. **    - Unhid the -# option to parseargs(1)
  126. **    - More documentation fixes
  127. **
  128. **    04/04/91    Brad Appleton    <brad@ssd.csd.harris.com>
  129. **    Patch04 (continued)
  130. **    - fixed bug in xparse.c with PARSECNTL='Prompt' being ignored.
  131. **    - fixed newline printing error in perl-scripts for parseargs(1)
  132. **    - added -C option to parseargs(1) and to the docs
  133. **    - added "patchlevel.h" to distribution
  134. **    - added "what" string with version and patch level for parseargs(1)
  135. **    - added hidden -# option to parseargs(1)
  136. **    - add "doc/effects.inc" to distribution
  137. **    - fix docs
  138. **    - fix test.rc for Plan 9 shell
  139. **    - fix parseargs(1) quoting for perl
  140. **
  141. **    03/22/91    Brad Appleton    <brad@ssd.csd.harris.com>
  142. **    Patch03
  143. **    - ascii docs fix
  144. **
  145. **    03/21/91    Brad Appleton    <brad@ssd.csd.harris.com>
  146. **    Patch02
  147. **    - documentation fix
  148. **
  149. **    03/12/91    Brad Appleton    <brad@ssd.csd.harris.com>
  150. **    Patch01
  151. **    - documentation fix
  152. **
  153. **    03/02/91    Brad Appleton    <brad@ssd.csd.harris.com>    Created
  154. ***^^********************************************************************/
  155.  
  156. #define  VERSION     2
  157. #define  REVISION    0
  158. #define  PATCHLEVEL  11
  159.  
  160. #ifdef __STDC__
  161.    static const char
  162. #else
  163.    static char
  164. #endif
  165.    _Ident[] = "@(#)parseargs  2.0  patchlevel 11";
  166.