home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume29 / pdksh / patch02a < prev    next >
Encoding:
Text File  |  1992-04-25  |  19.3 KB  |  691 lines

  1. Newsgroups: comp.sources.misc
  2. From: sjg@zen.void.oz.au (Simon J. Gerraty)
  3. Subject:  v29i081:  pdksh - Public Domain Korn Shell, v4, Patch02a/2
  4. Message-ID: <csm-v29i081=pdksh.230707@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 6894d9f506ccd1708b97530952e2b533
  6. Date: Sun, 26 Apr 1992 04:08:53 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: sjg@zen.void.oz.au (Simon J. Gerraty)
  10. Posting-number: Volume 29, Issue 81
  11. Archive-name: pdksh/patch02a
  12. Environment: UNIX
  13. Patch-To: pdksh: Volume 25, Issue 47-55
  14.  
  15. This patch and the next bring PD KSH to 4.3
  16.  
  17. Sorry about long delay and the large number of diffs!  I've put
  18. all the source under RCS, so there are diffs to pretty well
  19. every file.
  20.  
  21. This 4.3 contains fixes for a few bugs and adds the following
  22. features:
  23.  
  24. 1/    Automatic setting of edit mode.
  25.     This is not quite what ksh does, but seems cool.  We
  26.     check FCEDIT,EDITOR,VISUAL in that order.  The first one
  27.     that is set is checked for the work "emacs" or "vi".
  28.  
  29. 2/    History file.
  30.     This was a quick and dirty last night, but does the jobs
  31.     for now.
  32.  
  33. 3/    Job Control for System V
  34.     The shell uses XPG3's sigaction() interface for signals.
  35.     An implementation is provided for systems that lack it.
  36.     This arrangement has been tested on:
  37.         BSD:    sun386,sun4c
  38.         SYSV:    Bull DPX/2 (SYSV/POSIX)
  39.     I used gcc-2.1 on each.
  40.  
  41. Enjoy!
  42.  
  43. sjg
  44.  
  45. Before applying this patch you must:
  46.  
  47.     mv sh/ulimit.c sh/do_ulimit.c
  48.  
  49. Apply the patch:
  50.  
  51.     patch -p0 < patch02a
  52.     patch -p0 < patch02b
  53.  
  54. Prereq: 09-Nov-91
  55. Prereq: 10-Nov-91
  56. Prereq: 25-Nov-91
  57. *** PATCHDATES.old    Sat Apr 25 17:44:07 1992
  58. --- PATCHDATES    Sat Apr 25 11:57:52 1992
  59. ***************
  60. *** 2,4 ****
  61. --- 2,5 ----
  62.   09-Nov-91
  63.   10-Nov-91
  64.   25-Nov-91
  65. + 25-Apr-92
  66. *** ChangeLog.old    Sat Apr 25 17:44:08 1992
  67. --- ChangeLog    Sat Apr 25 10:57:37 1992
  68. ***************
  69. *** 1,3 ****
  70. --- 1,7 ----
  71. + Sat Apr 25 10:53:20 1992  Simon J. Gerraty  (sjg@zen)
  72. +     * Getting ready for 4.3 release.  
  73.   Fri Nov 22 22:24:29 1991  Simon J. Gerraty  (sjg at zen)
  74.   
  75.       * Cleaned up the build process slightly.  Makefiles in ./std tree
  76. *** INSTALL.old    Sat Apr 25 17:44:08 1992
  77. --- INSTALL    Sat Apr 25 10:52:59 1992
  78. ***************
  79. *** 12,18 ****
  80.   simpler.  Using -DNOSTDHDRS avoids attempts to include ANSI
  81.   headers that may be lacking.  I have built the shell this way on
  82.   all Sun platforms and on a Bull DPX/2 (which has good POSIX
  83. ! support) as a test only since it already has a real ksh.
  84.   
  85.   It is recommended that you try using the ./std tree first.  This
  86.   avoids problems like BSD times() calls that do not return an
  87. --- 12,21 ----
  88.   simpler.  Using -DNOSTDHDRS avoids attempts to include ANSI
  89.   headers that may be lacking.  I have built the shell this way on
  90.   all Sun platforms and on a Bull DPX/2 (which has good POSIX
  91. ! support).  The config file defines USE_SIGACT so that the shell
  92. ! will use the XPG3 signalaction() and friends.  You should leave
  93. ! USE_SIGACT defined, sh/sigact.c contains an implementation for
  94. ! systems that lack this facility. 
  95.   
  96.   It is recommended that you try using the ./std tree first.  This
  97.   avoids problems like BSD times() calls that do not return an
  98. ***************
  99. *** 84,93 ****
  100.   
  101.       cd ./sh
  102.       make CFLAGS="-D_SYSV" LDLIBS="-lc_s" LDFLAGS=""
  103.   
  104. - On this system you need to undefine JOBS in config.h, jobs.c
  105. - assumes a lot and may cause problems for System V machines.
  106.   INSTALLING:
  107.   ===========
  108.   
  109. --- 87,94 ----
  110.   
  111.       cd ./sh
  112.       make CFLAGS="-D_SYSV" LDLIBS="-lc_s" LDFLAGS=""
  113. +     make CC=gcc CFLAGS="-D_POSIX_SOURCE" LDLIBS="-lc_s" LDFLAGS=""
  114.   
  115.   INSTALLING:
  116.   ===========
  117.   
  118. ***************
  119. *** 134,141 ****
  120. --- 135,149 ----
  121.   system headers do not work unless they know what architecture is
  122.   in use.  
  123.   
  124. + On the Bull DPX/2 I used gcc-2.1, my gcc port will be available
  125. + as of release 2.2.  To save effort I found it necessary to copy
  126. + stdio.h and stdlib.h to gcc's private include directory and edit
  127. + them to remove unnecessary #ifdef's and unwanted #include's.
  128.   If you find and fix a problem please fill in a copy of
  129.   ./bug-report and e-mail it to pdksh-bug@zen.void.oz.au
  130.   
  131. + Enjoy!
  132.   
  133. + Simon J. Gerraty <sjg@zen.void.oz.au>
  134.   
  135. *** MACHINES.old    Sat Apr 25 17:44:09 1992
  136. --- MACHINES    Sat Apr 25 10:42:50 1992
  137. ***************
  138. *** 2,8 ****
  139.   
  140.   Notes:
  141.   (1)    Built and tested by me (sjg), seems ok :-)
  142. ! (2)    Reported ok
  143.   (3)    Reported no good
  144.   (4)    Built with ./std/lib*
  145.   (5)    Built without ./std/lib*
  146. --- 2,8 ----
  147.   
  148.   Notes:
  149.   (1)    Built and tested by me (sjg), seems ok :-)
  150. ! (2)    Reported ok (may mean earlier version)
  151.   (3)    Reported no good
  152.   (4)    Built with ./std/lib*
  153.   (5)    Built without ./std/lib*
  154. ***************
  155. *** 13,25 ****
  156.   
  157.   System, OS            Notes    Compiler/Flags
  158.   --------------------------    -----    --------------
  159.   sun386, SunOS 4.0.2        1,4    gcc-1.40 -D_BSD
  160.   sun4c,    SunOS 4.1.1        1,4    cc -D_BSD -DHAVE_SYS_STDTYPES
  161.   sun3,    SunOS 4.0.3        1,4    cc -D_BSD
  162.   sun386, SunOS 4.0.2        1,5    cc -DNOSTDHDRS -D_BSD
  163.   sun4c,    SunOS 4.1.1        1,5    cc -DNOSTDHDRS -D_BSD -DHAVE_SYS_STDTYPES
  164.   sun3,    SunOS 4.0.3        1,5    cc -DNOSTDHDRS -D_BSD
  165. ! Bull DPX/2, B.O.S. 2.00.45    1,5,6    cc -D_SYSV
  166.   Bull XPS-100            2,6
  167.   
  168.   
  169. --- 13,27 ----
  170.   
  171.   System, OS            Notes    Compiler/Flags
  172.   --------------------------    -----    --------------
  173. + sun386, SunOS 4.0.2        1,4    gcc-2.1 -D_BSD
  174.   sun386, SunOS 4.0.2        1,4    gcc-1.40 -D_BSD
  175. + sun4c,    SunOS 4.1.1        1,4    gcc-2.1 -ansi -D_BSD -DHAVE_SYS_STDTYPES
  176.   sun4c,    SunOS 4.1.1        1,4    cc -D_BSD -DHAVE_SYS_STDTYPES
  177.   sun3,    SunOS 4.0.3        1,4    cc -D_BSD
  178.   sun386, SunOS 4.0.2        1,5    cc -DNOSTDHDRS -D_BSD
  179.   sun4c,    SunOS 4.1.1        1,5    cc -DNOSTDHDRS -D_BSD -DHAVE_SYS_STDTYPES
  180.   sun3,    SunOS 4.0.3        1,5    cc -DNOSTDHDRS -D_BSD
  181. ! Bull DPX/2, B.O.S. 2.00.45    1,5    gcc-2.1 -ansi -D_POSIX_SOURCE
  182.   Bull XPS-100            2,6
  183.   
  184.   
  185. *** MANIFEST.old    Sat Apr 25 17:44:09 1992
  186. --- MANIFEST    Sat Apr 25 10:39:32 1992
  187. ***************
  188. *** 45,51 ****
  189. --- 45,55 ----
  190.    sh/mail.c                 6    
  191.    sh/main.c                 6    
  192.    sh/misc.c                 6    
  193. +  sh/patchlevel.h       6    version/patch level.
  194. +  sh/proto.h           1    Prototypes for ANSI compilers.
  195.    sh/sh.h                   6    
  196. +  sh/sigact.h           6    Header for sigaction() implementation.
  197. +  sh/sigact.c           6    sigaction() implementation.
  198.    sh/stdh.h                 6    Centralise std header inclusion.
  199.    sh/syn.c                  7    
  200.    sh/table.c                7    
  201. ***************
  202. *** 56,62 ****
  203.    sh/tree.c                 7    
  204.    sh/tree.h                 7    
  205.    sh/tty.h                  1    
  206. !  sh/ulimit.c               7    
  207.    sh/var.c                  8    
  208.    sh/version.c              3    
  209.    sh/vi.c                   8    
  210. --- 60,66 ----
  211.    sh/tree.c                 7    
  212.    sh/tree.h                 7    
  213.    sh/tty.h                  1    
  214. !  sh/do_ulimit.c            7    
  215.    sh/var.c                  8    
  216.    sh/version.c              3    
  217.    sh/vi.c                   8    
  218. *** Makefile.old    Sat Apr 25 17:44:10 1992
  219. --- Makefile    Sat Apr 25 18:17:41 1992
  220. ***************
  221. *** 1,9 ****
  222.   # PD Bourne/Korn Shell
  223. ! # @(#)Makefile 1.4 91/11/25 13:54:20
  224.   
  225.   SHELL = /bin/sh
  226.   MAKE  = make
  227.   LN=ln -s
  228.   #LN=ln
  229.   #CONFIG= -D_SYSV
  230. --- 1,9 ----
  231.   # PD Bourne/Korn Shell
  232. ! # $Id: Makefile,v 1.2 1992/04/25 08:17:25 sjg Exp $
  233.   
  234.   SHELL = /bin/sh
  235.   MAKE  = make
  236. ! CC=gcc -pipe -g -O
  237.   LN=ln -s
  238.   #LN=ln
  239.   #CONFIG= -D_SYSV
  240. *** README.old    Sat Apr 25 17:44:10 1992
  241. --- README    Sat Apr 25 17:59:10 1992
  242. ***************
  243. *** 1,5 ****
  244.           Public Domain Korn Shell
  245. !               Version 4.2
  246.   
  247.   PD KSH:
  248.   
  249. --- 1,5 ----
  250.           Public Domain Korn Shell
  251. !               Version 4.3
  252.   
  253.   PD KSH:
  254.   
  255. ***************
  256. *** 9,15 ****
  257.   is nice to have the same user interface on all.  I resisted
  258.   moving to the ksh on a Bull system at work for nearly a year due
  259.   to the lack of a ksh on my Sun systems.  When I first picked up
  260. ! the 3.2 PD KSH a couple of years ago, it took any a few minutes
  261.   to convert a C-shell fan to a ksh fan :-)  Pdksh is not 100%
  262.   compatible with the ksh.  Having said that, I use it daily
  263.   beside a real ksh88 and find them virtually indistinguishable.
  264. --- 9,15 ----
  265.   is nice to have the same user interface on all.  I resisted
  266.   moving to the ksh on a Bull system at work for nearly a year due
  267.   to the lack of a ksh on my Sun systems.  When I first picked up
  268. ! the 3.2 PD KSH a couple of years ago, it took only a few minutes
  269.   to convert a C-shell fan to a ksh fan :-)  Pdksh is not 100%
  270.   compatible with the ksh.  Having said that, I use it daily
  271.   beside a real ksh88 and find them virtually indistinguishable.
  272. ***************
  273. *** 31,37 ****
  274. --- 31,41 ----
  275.   source.  Its bad enough being flamed for my own bugs let alone
  276.   anyone elses :-)
  277.   
  278. + WHATS NEW:
  279.   
  280. + This update includes Job Control for System V (POSIX), many bug
  281. + fixes and a simple history file mechanism.  See sh/ChangeLog.
  282.   HISTORY:
  283.   
  284.   This shell was written by Eric Gisin.  It is based on Charles
  285. ***************
  286. *** 104,111 ****
  287.   
  288.   BUGS:
  289.   
  290. ! Many folk have contributed to this shell.  There are surely
  291. ! still plenty of bugs to be found/fixed.
  292.   
  293.   There is a template bug report in bug-report [borrowed from the
  294.   X11R5 mit tree], just fill in the blanks and mail to
  295. --- 108,117 ----
  296.   
  297.   BUGS:
  298.   
  299. ! Many folk have contributed to this shell.  
  300. ! I have attempted to credit (in sh/ChangeLog) the authors of bug
  301. ! fixes received since the previous release.
  302. ! There are surely still plenty of bugs to be found/fixed.
  303.   
  304.   There is a template bug report in bug-report [borrowed from the
  305.   X11R5 mit tree], just fill in the blanks and mail to
  306. *** ksh.1.old    Sat Apr 25 17:40:34 1992
  307. --- ksh.1    Sat Apr 25 18:15:59 1992
  308. ***************
  309. *** 1,10 ****
  310. ! .\" $Header: /usr/local/src/nksh/sh/RCS/ksh.1,v 3.1 88/11/22 10:44:17 egisin Exp $
  311.   .nr OJ 1 \" Job Control
  312.   .nr OE 1 \" Command Editing
  313.   .nr OB 1 \" BSD enhanced ulimit options
  314.   .ds OK [\|
  315.   .ds CK \|]
  316. ! .TH KSH 1 "January 1988"
  317.   .SH NAME
  318.   ksh \- Bourne / Korn Shell (Public Domain)
  319.   .SH SYNOPSIS
  320. --- 1,10 ----
  321. ! .\" $Id$
  322.   .nr OJ 1 \" Job Control
  323.   .nr OE 1 \" Command Editing
  324.   .nr OB 1 \" BSD enhanced ulimit options
  325.   .ds OK [\|
  326.   .ds CK \|]
  327. ! .TH KSH 1 "April 1992"
  328.   .SH NAME
  329.   ksh \- Bourne / Korn Shell (Public Domain)
  330.   .SH SYNOPSIS
  331. ***************
  332. *** 87,92 ****
  333. --- 87,96 ----
  334.   It typically contains function and alias definitions.
  335.   .IP FCEDIT
  336.   The editor used by the \fIfc\fP command.
  337. + During startup the shell checks the value of \fBFCEDIT\fP, 
  338. + \fBEDITOR\fP and finally \fBVISUAL\fP to try and determin what
  339. + command line edit mode to use.  Note that this is not strictly
  340. + ksh compatible behaviour.
  341.   .IP IFS
  342.   \fIInternal field separator\fP,
  343.   used during substitution and the \fIread\fP command.
  344. ***************
  345. *** 125,130 ****
  346. --- 129,146 ----
  347.   The number of seconds since the shell timer was started or
  348.   reset.  Assigning an integer value to this variable resets
  349.   the timer.
  350. + .IP COLUMNS
  351. + The width to use for the commandline editing (emacs mode only).
  352. + .IP HISTFILE
  353. + The name of the file to read initial history from.  The default
  354. + is "\fB$HOME/.pdksh_hist\fP".  When the shell exits it will
  355. + overwrite this file with its current history.  This behaviour
  356. + will almost certainly cause grief when multiple shells are being
  357. + run by the same user.  Making the file read-only will allow each
  358. + shell to start with a set history and avoid overwriting the
  359. + file.
  360. + .IP HISTSIZE
  361. + The number of history items to save in \fBHISTFILE\fP.
  362.   .SS Substitution
  363.   In addition to the System Vr2 substitutions,
  364.   the following are available.
  365. ***************
  366. *** 793,801 ****
  367.   .LP
  368.   System V and Korn modifications by Eric Gisin,
  369.   with contributions by
  370. ! Ron Natalie, Arnold Robbins, Doug Gwyn, Erik Baalbergen, AT&T (getopt(3)).
  371.   .SH DIFFERENCES FROM AT&T VERSION
  372. - Vi editing mode is not implemented.
  373.   The \fBselect\fP statement is not implemented.
  374.   Variable arrays are not implemented.
  375.   Variable attributes other than integer are not implemented.
  376. --- 809,818 ----
  377.   .LP
  378.   System V and Korn modifications by Eric Gisin,
  379.   with contributions by
  380. ! Ron Natalie, Arnold Robbins, Doug Gwyn, Erik Baalbergen, 
  381. ! AT&T\ (getopt(3)), John McMillan and Simon Gerraty.
  382.   .SH DIFFERENCES FROM AT&T VERSION
  383.   The \fBselect\fP statement is not implemented.
  384.   Variable arrays are not implemented.
  385.   Variable attributes other than integer are not implemented.
  386. ***************
  387. *** 804,810 ****
  388.   in the AT&T version.
  389.   Korn evaluates expressions differently [elaborate].
  390.   .SH BUGS
  391. ! Interactive shells will occasionally hang while waiting for a job
  392.   in the BSD version.
  393.   .LP
  394.   The 8th bit is stripped in emacs mode.
  395. --- 821,827 ----
  396.   in the AT&T version.
  397.   Korn evaluates expressions differently [elaborate].
  398.   .SH BUGS
  399. ! Interactive shells may occasionally hang while waiting for a job
  400.   in the BSD version.
  401.   .LP
  402.   The 8th bit is stripped in emacs mode.
  403. ***************
  404. *** 811,819 ****
  405.   .LP
  406.   Quoting double-quote (") characters inside back-quote (`) inside
  407.   double-quotes does not behave properly.  Why are you doing this?
  408. - .LP
  409. - Job control on System V is not really job control.  In fact it is
  410. - not much of anything.
  411.   .LP
  412.   The emacs mode can ``lose'' stty command done by the user.
  413.   .LP
  414. --- 828,833 ----
  415. *** PATCHDATES.old    Sat Apr 25 17:44:07 1992
  416. --- PATCHDATES    Sat Apr 25 11:57:52 1992
  417. ***************
  418. *** 2,4 ****
  419. --- 2,5 ----
  420.   09-Nov-91
  421.   10-Nov-91
  422.   25-Nov-91
  423. + 25-Apr-92
  424. *** std/Makefile.old    Sat Apr 25 17:44:39 1992
  425. --- std/Makefile    Sat Apr 25 18:18:33 1992
  426. ***************
  427. *** 1,6 ****
  428. --- 1,8 ----
  429.   #
  430.   # Makefile for the compatibility libraries
  431.   #
  432. + # $Id: Makefile,v 1.2 1992/04/25 08:18:26 sjg Exp $
  433. + #
  434.   
  435.   SHELL = /bin/sh
  436.   MAKE  = make
  437. *** std/posix/ChangeLog.old    Sat Apr 25 17:44:41 1992
  438. --- std/posix/ChangeLog    Sat Apr 25 14:51:52 1992
  439. ***************
  440. *** 1,3 ****
  441. --- 1,7 ----
  442. + Sat Apr 25 14:51:33 1992  Simon J. Gerraty  (sjg@zen)
  443. +     * Added RCS keys to sources.
  444.   Mon Nov 25 13:17:04 1991  Simon J. Gerraty  (sjg at zen)
  445.   
  446.       * wait.h: use "/./usr/include/sys/wait.h for sun's
  447. *** std/posix/Makefile.old    Sat Apr 25 17:44:41 1992
  448. --- std/posix/Makefile    Sat Apr 25 18:22:22 1992
  449. ***************
  450. *** 1,5 ****
  451.   # POSIX P1003.1 compatability
  452. ! # @(#)Makefile 1.3 91/11/25 13:33:57
  453.   
  454.   SHELL = /bin/sh
  455.   MAKE  = make
  456. --- 1,5 ----
  457.   # POSIX P1003.1 compatability
  458. ! # $Id: Makefile,v 1.2 1992/04/25 08:22:14 sjg Exp $
  459.   
  460.   SHELL = /bin/sh
  461.   MAKE  = make
  462. *** std/posix/dirent.C.old    Sat Apr 25 17:41:51 1992
  463. --- std/posix/dirent.C    Sat Apr 25 18:22:25 1992
  464. ***************
  465. *** 3,8 ****
  466. --- 3,9 ----
  467.    * completly untested. not designed to be efficient.
  468.    * missing telldir and seekdir.
  469.    */
  470. + /* $Id: dirent.C,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  471.   
  472.   #include <sys/types.h>
  473.   #include <dirent.h>
  474. *** std/posix/dirent.H.old    Sat Apr 25 17:41:52 1992
  475. --- std/posix/dirent.H    Sat Apr 25 18:22:27 1992
  476. ***************
  477. *** 6,11 ****
  478. --- 6,12 ----
  479.   
  480.       prerequisite:    <sys/types.h>
  481.   */
  482. + /* $Id: dirent.H,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  483.   
  484.   #define    MAXNAMLEN    16        /* maximum filename length */
  485.   
  486. *** std/posix/dup2.c.old    Sat Apr 25 17:42:28 1992
  487. --- std/posix/dup2.c    Sat Apr 25 18:22:30 1992
  488. ***************
  489. *** 1,6 ****
  490. --- 1,7 ----
  491.   /*
  492.    * Cheap imitation of BSD dup2()
  493.    */
  494. + /* $Id: dup2.c,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  495.   
  496.   #include <fcntl.h>
  497.   
  498. *** std/posix/fcntl.c.old    Sat Apr 25 17:41:53 1992
  499. --- std/posix/fcntl.c    Sat Apr 25 18:22:32 1992
  500. ***************
  501. *** 1,4 ****
  502. --- 1,5 ----
  503.   /* fcntl emulation */
  504. + /* $Id: fcntl.c,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  505.   
  506.   #include <errno.h>
  507.   #include <sys/types.h>
  508. *** std/posix/fcntl.h.old    Sat Apr 25 17:44:42 1992
  509. --- std/posix/fcntl.h    Sat Apr 25 18:22:34 1992
  510. ***************
  511. *** 1,7 ****
  512.   /* P1003.1 fcntl/open definitions */
  513.   /* Based on a version by Terrence W. Holm */
  514. - /* @(#)fcntl.h    1.3 91/11/25 13:34:00 (sjg) */
  515.   /*  for fcntl(2)  */
  516.   
  517.   #define    F_DUPFD        0
  518.   #define    F_GETFD        1
  519. --- 1,7 ----
  520.   /* P1003.1 fcntl/open definitions */
  521.   /* Based on a version by Terrence W. Holm */
  522.   /*  for fcntl(2)  */
  523. + /* $Id: fcntl.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  524.   
  525.   #define    F_DUPFD        0
  526.   #define    F_GETFD        1
  527. *** std/posix/io.h.old    Sat Apr 25 17:41:41 1992
  528. --- std/posix/io.h    Sat Apr 25 18:22:36 1992
  529. ***************
  530. *** 1,4 ****
  531. --- 1,5 ----
  532.   /* POSIX IO functions */
  533. + /* $Id: io.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  534.   
  535.   /*
  536.    * the incomplete type "struct stat"
  537. *** std/posix/time.h.old    Sat Apr 25 17:42:29 1992
  538. --- std/posix/time.h    Sat Apr 25 18:22:38 1992
  539. ***************
  540. *** 2,7 ****
  541. --- 2,8 ----
  542.    * Replacement for BSD <sys/time.h>
  543.    * because Ultrix screws it up.
  544.    */
  545. + /* $Id: time.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  546.   
  547.   struct timeval {
  548.       long tv_sec;        /* time_t */
  549. *** std/posix/times.c.old    Sat Apr 25 17:41:56 1992
  550. --- std/posix/times.c    Sat Apr 25 18:22:40 1992
  551. ***************
  552. *** 1,4 ****
  553. --- 1,5 ----
  554.   /* P1003.1 times emulation */
  555. + /* $Id: times.c,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  556.   
  557.   #include <sys/times.h>
  558.   
  559. *** std/posix/times.h.old    Sat Apr 25 17:41:57 1992
  560. --- std/posix/times.h    Sat Apr 25 18:22:42 1992
  561. ***************
  562. *** 1,6 ****
  563. --- 1,7 ----
  564.   /*
  565.    * sys/times.h: POSIX times()
  566.    */
  567. + /* $Id: times.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  568.   
  569.   #if ! _TIMES_H
  570.   #define    _TIMES_H 1
  571. *** std/posix/unistd.c.old    Sat Apr 25 17:41:58 1992
  572. --- std/posix/unistd.c    Sat Apr 25 18:22:44 1992
  573. ***************
  574. *** 1,6 ****
  575.   /* misc. POSIX emulation */
  576.   
  577. ! /* $Header$ */
  578.   
  579.   #include <string.h>
  580.   #include <errno.h>
  581. --- 1,8 ----
  582.   /* misc. POSIX emulation */
  583.   
  584. ! #ifndef lint
  585. ! static char *RCSid = "$Id: unistd.c,v 1.2 1992/04/25 08:22:14 sjg Exp $";
  586. ! #endif
  587.   
  588.   #include <string.h>
  589.   #include <errno.h>
  590. *** std/posix/unistd.h.old    Sat Apr 25 17:41:59 1992
  591. --- std/posix/unistd.h    Sat Apr 25 18:22:46 1992
  592. ***************
  593. *** 1,5 ****
  594. --- 1,6 ----
  595.   /* unistd.h: misc. P1003.1 definitions */
  596.   /* Based on a version by Terrence W. Holm */
  597. + /* $Id: unistd.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  598.   
  599.   #if ! _UNISTD_H
  600.   #define    _UNISTD_H 1
  601. ***************
  602. *** 7,21 ****
  603.   #include <stddef.h>
  604.   
  605.   /* doesn't really belong here, but the library function need it */
  606. ! /* todo: use _ARGS, _Void, _Const */
  607.   #if __STDC__
  608.   #define    ARGS(args)    args
  609. ! #define Void    void
  610. ! #define    Const    const
  611.   #else
  612.   #define    ARGS(args)    ()
  613. ! #define    Void    char
  614. ! #define    Const
  615.   #endif
  616.   
  617.   #include <io.h>            /* POSIX IO functions */
  618. --- 8,22 ----
  619.   #include <stddef.h>
  620.   
  621.   /* doesn't really belong here, but the library function need it */
  622. ! /* todo: use _ARGS, _void, _const */
  623.   #if __STDC__
  624.   #define    ARGS(args)    args
  625. ! #define void    void
  626. ! #define    const    const
  627.   #else
  628.   #define    ARGS(args)    ()
  629. ! #define    void    char
  630. ! #define    const
  631.   #endif
  632.   
  633.   #include <io.h>            /* POSIX IO functions */
  634. *** std/posix/wait.h.old    Sat Apr 25 17:44:42 1992
  635. --- std/posix/wait.h    Sat Apr 25 18:22:48 1992
  636. ***************
  637. *** 1,6 ****
  638. --- 1,7 ----
  639.   /*
  640.    * POSIX <sys/wait.h>
  641.    */
  642. + /* $Id: wait.h,v 1.2 1992/04/25 08:22:14 sjg Exp $ */
  643.   #if __STDC__
  644.   #define    ARGS(args)    args
  645.   #else
  646. ***************
  647. *** 10,16 ****
  648. --- 11,20 ----
  649.   #ifdef HAVE_SYS_STDTYPES
  650.   # include <sys/stdtypes.h>
  651.   #else
  652. + # ifndef _PID_T
  653. + #   define _PID_T
  654.   typedef int pid_t;        /* belong in sys/types.h */
  655. + # endif
  656.   #endif
  657.   
  658.   #ifdef sun
  659. ***************
  660. *** 35,43 ****
  661.   
  662.   pid_t wait ARGS((int *statp));
  663.   #if _BSD
  664. ! pid_t wait3 ARGS((int *statp, int options, Void *));
  665.   /* todo: does not emulate pid argument */
  666. ! #define    waitpid(pid, sp, opts)    wait3(sp, opts, (Void*)NULL)
  667.   #else
  668.   pid_t waitpid ARGS((pid_t pid, int *statp, int options));
  669.   #endif
  670. --- 39,47 ----
  671.   
  672.   pid_t wait ARGS((int *statp));
  673.   #if _BSD
  674. ! pid_t wait3 ARGS((int *statp, int options, void *));
  675.   /* todo: does not emulate pid argument */
  676. ! #define    waitpid(pid, sp, opts)    wait3(sp, opts, (void*)NULL)
  677.   #else
  678.   pid_t waitpid ARGS((pid_t pid, int *statp, int options));
  679.   #endif
  680.  
  681. exit 0 # Just in case...
  682.