home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume13 / perl / patches1-5 < prev    next >
Encoding:
Internet Message Format  |  1988-02-03  |  47.3 KB

  1. Path: bbn.com!rsalz
  2. From: rsalz@bbn.com (Rich Salz)
  3. Newsgroups: comp.sources.unix
  4. Subject: v13i011:  Perl patches 1 to 5, Patch1-Patch5
  5. Message-ID: <364@fig.bbn.com>
  6. Date: 3 Feb 88 18:57:43 GMT
  7. Organization: BBN Laboratories Inc., Cambridge MA
  8. Lines: 1703
  9. Approved: rsalz@uunet.UU.NET
  10.  
  11. Submitted-by: Rich $alz <rsalz@bbn.com>
  12. Posting-number: Volume 13, Issue 11
  13. Archive-name: perl/patches1-5
  14.  
  15. This is the first of two files containing the first 10 official patches
  16. to perl.  They are copies of the articles as I received them on my
  17. machine.
  18.  
  19. When you unpack this you will get five separate patch files, each of
  20. which will have to be fed through patch.  Make sure to install all
  21. 10 patches.
  22.     /r$
  23.  
  24. #! /bin/sh
  25.  
  26. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  27. if test -f 'patch1' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'patch1'\"
  29. else
  30. echo shar: Extracting \"'patch1'\" \(20256 characters\)
  31. sed "s/^X//" >'patch1' <<'END_OF_FILE'
  32. XFrom bbn.com!bbn!uwmcsd1!ig!agate!pasteur!ames!elroy!devvax!lroot Fri Jan 22 10:05:19 EST 1988
  33. XArticle 659 of comp.sources.bugs:
  34. XPath: bbn.com!bbn!uwmcsd1!ig!agate!pasteur!ames!elroy!devvax!lroot
  35. X>From: lroot@devvax.JPL.NASA.GOV (The Superuser)
  36. XNewsgroups: comp.sources.bugs
  37. XSubject: perl 1.0 patch #1
  38. XSummary: This is an official patch for perl 1.0.  Please apply it.
  39. XMessage-ID: <1093@devvax.JPL.NASA.GOV>
  40. XDate: 22 Jan 88 06:24:35 GMT
  41. XOrganization: Jet Propulsion Laboratory, Pasadena, CA
  42. XLines: 715
  43. X
  44. XSystem: perl version 1.0
  45. XPatch #: 1
  46. XPriority: MEDIUM
  47. XSubject: Portability bugs and one possible SIGSEGV
  48. X>From: Dan Faigin, Doug Landauer
  49. X
  50. XDescription:
  51. X    On some systems the Configure script and C compilations get
  52. X    warning messages that may scare some folks unnecessarily.
  53. X
  54. X    Also, use of the "redo" command if debugging is compiled in
  55. X    overflows a stack on which the trace context is kept.
  56. X
  57. XFix:    From rn, say "| patch -d DIR", where DIR is your perl source
  58. X    directory.  Outside of rn, say "cd DIR; patch <thisarticle".
  59. X    If you don't have the patch program, apply the following by hand,
  60. X    or get patch.
  61. X
  62. X    If patch indicates that patchlevel is the wrong version, the patch
  63. X    may already have been applied.  See the patchlevel.h file to find out
  64. X    what has or has not been applied.
  65. X
  66. X    If you are missing previous patches they can be obtained from me:
  67. X
  68. X    Larry Wall
  69. X    lwall@jpl-devvax.jpl.nasa.gov
  70. X
  71. X    If you send a mail message of the following form it will greatly speed
  72. X    processing:
  73. X
  74. X    Subject: Command
  75. X    @SH mailpatch PATH perl 1.0 LIST
  76. X           ^ note the c
  77. X
  78. X    where PATH is a return path FROM ME TO YOU in Internet notation, and
  79. X    LIST is the number of one or more patches you need, separated by spaces,
  80. X    commas, and/or hyphens.  Saying 35- says everything from 35 to the end.
  81. X
  82. X    You can also get the patches via anonymous FTP from my site, which is
  83. X    jpl-devvax.jpl.nasa.gov (128.149.8.13).
  84. X
  85. XIndex: patchlevel.h
  86. XPrereq: 0
  87. X1c1
  88. X< #define PATCHLEVEL 0
  89. X---
  90. X> #define PATCHLEVEL 1
  91. XIndex: Configure
  92. XPrereq: 1.0
  93. X*** Configure.old    Thu Jan 21 22:20:21 1988
  94. X*** Configure    Thu Jan 21 22:20:22 1988
  95. X***************
  96. X*** 8,14 ****
  97. X  # and edit it to reflect your system.  Some packages may include samples
  98. X  # of config.h for certain machines, so you might look for one of those.)
  99. X  #
  100. X! # $Header: Configure,v 1.0 87/12/18 15:05:56 root Exp $
  101. X  #
  102. X  # Yes, you may rip this off to use in other distribution packages.
  103. X  # (Note: this Configure script was generated automatically.  Rather than
  104. X--- 8,14 ----
  105. X  # and edit it to reflect your system.  Some packages may include samples
  106. X  # of config.h for certain machines, so you might look for one of those.)
  107. X  #
  108. X! # $Header: Configure,v 1.0.1.1 88/01/21 21:21:47 root Exp $
  109. X  #
  110. X  # Yes, you may rip this off to use in other distribution packages.
  111. X  # (Note: this Configure script was generated automatically.  Rather than
  112. X***************
  113. X*** 67,76 ****
  114. X--- 67,79 ----
  115. X  cc=''
  116. X  contains=''
  117. X  cpp=''
  118. X+ cppminus=''
  119. X  d_charsprf=''
  120. X  d_index=''
  121. X+ d_stdstdio=''
  122. X  d_strctcpy=''
  123. X  d_vfork=''
  124. X+ d_voidsig=''
  125. X  libc=''
  126. X  libnm=''
  127. X  mansrc=''
  128. X***************
  129. X*** 90,95 ****
  130. X--- 93,99 ----
  131. X  shsharp=''
  132. X  sharpbang=''
  133. X  startsh=''
  134. X+ stdchar=''
  135. X  voidflags=''
  136. X  defvoidused=''
  137. X  CONFIG=''
  138. X***************
  139. X*** 110,116 ****
  140. X  trap 'echo " "; rm -f $rmlist; exit 1' 1 2 3
  141. X  attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  142. X  attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
  143. X! attrlist="$attrlist ns32000 ns16000 iAPX286"
  144. X  pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib"
  145. X  defvoidused=7
  146. X  
  147. X--- 114,120 ----
  148. X  trap 'echo " "; rm -f $rmlist; exit 1' 1 2 3
  149. X  attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
  150. X  attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
  151. X! attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
  152. X  pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /etc /usr/lib"
  153. X  defvoidused=7
  154. X  
  155. X***************
  156. X*** 200,207 ****
  157. X  
  158. X  Much effort has been expended to ensure that this shell script will run
  159. X  on any Unix system.  If despite that it blows up on you, your best bet is
  160. X! to edit Configure and run it again. Also, let me (lwall@sdcrdcf.UUCP) know
  161. X! how I blew it.  If you can't run Configure for some reason, you'll have
  162. X  to generate a config.sh file by hand.
  163. X  
  164. X  This installation script affects things in two ways: 1) it may do direct
  165. X--- 204,211 ----
  166. X  
  167. X  Much effort has been expended to ensure that this shell script will run
  168. X  on any Unix system.  If despite that it blows up on you, your best bet is
  169. X! to edit Configure and run it again. Also, let me (lwall@jpl-devvax.jpl.nasa.gov)
  170. X! know how I blew it.  If you can't run Configure for some reason, you'll have
  171. X  to generate a config.sh file by hand.
  172. X  
  173. X  This installation script affects things in two ways: 1) it may do direct
  174. X***************
  175. X*** 546,551 ****
  176. X--- 550,643 ----
  177. X  fi
  178. X  rm -f try today
  179. X  
  180. X+ : see how we invoke the C preprocessor
  181. X+ echo " "
  182. X+ echo "Now, how can we feed standard input to your C preprocessor..."
  183. X+ cat <<'EOT' >testcpp.c
  184. X+ #define ABC abc
  185. X+ #define XYZ xyz
  186. X+ ABC.XYZ
  187. X+ EOT
  188. X+ echo 'Maybe "/lib/cpp" will work...'
  189. X+ /lib/cpp <testcpp.c >testcpp.out 2>&1
  190. X+ if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  191. X+     echo "Yup, it does."
  192. X+     cpp='/lib/cpp'
  193. X+     cppminus='';
  194. X+ else
  195. X+     echo 'Nope, maybe "/lib/cpp -" will work...'
  196. X+     /lib/cpp - <testcpp.c >testcpp.out 2>&1
  197. X+     if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  198. X+     echo "Yup, it does."
  199. X+     cpp='/lib/cpp'
  200. X+     cppminus='-';
  201. X+     else
  202. X+     echo 'No such luck...maybe "cc -E" will work...'
  203. X+     cc -E <testcpp.c >testcpp.out 2>&1
  204. X+     if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  205. X+         echo "It works!"
  206. X+         cpp='cc -E'
  207. X+         cppminus='';
  208. X+     else
  209. X+         echo 'Nixed again...maybe "cc -E -" will work...'
  210. X+         cc -E - <testcpp.c >testcpp.out 2>&1
  211. X+         if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  212. X+         echo "Hooray, it works!  I was beginning to wonder."
  213. X+         cpp='cc -E'
  214. X+         cppminus='-';
  215. X+         else
  216. X+         echo 'Nope...maybe "cc -P" will work...'
  217. X+         cc -P <testcpp.c >testcpp.out 2>&1
  218. X+         if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  219. X+             echo "Yup, that does."
  220. X+             cpp='cc -P'
  221. X+             cppminus='';
  222. X+         else
  223. X+             echo 'Nope...maybe "cc -P -" will work...'
  224. X+             cc -P - <testcpp.c >testcpp.out 2>&1
  225. X+             if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  226. X+             echo "Yup, that does."
  227. X+             cpp='cc -P'
  228. X+             cppminus='-';
  229. X+             else
  230. X+             echo 'Hmm...perhaps you already told me...'
  231. X+             case "$cpp" in
  232. X+             '') ;;
  233. X+             *) $cpp $cppminus <testcpp.c >testcpp.out 2>&1;;
  234. X+             esac
  235. X+             if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  236. X+                 echo "Hooray, you did!  I was beginning to wonder."
  237. X+             else
  238. X+                 echo 'Uh-uh.  Time to get fancy...'
  239. X+                 echo 'Trying (cat >/tmp/$$.c; cc -E /tmp/$$.c; rm /tmp/$$.c)'
  240. X+                 cpp='(cat >/tmp/$$.c; cc -E /tmp/$$.c; rm /tmp/$$.c)'
  241. X+                 cppminus='';
  242. X+                 $cpp <testcpp.c >testcpp.out 2>&1
  243. X+                 if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  244. X+                 echo "Eureka!."
  245. X+                 else
  246. X+                 dflt=blurfl
  247. X+                 $echo $n "No dice.  I can't find a C preprocessor.  Name one: $c"
  248. X+                 rp='Name a C preprocessor:'
  249. X+                 . myread
  250. X+                 cpp="$ans"
  251. X+                 $cpp <testcpp.c >testcpp.out 2>&1
  252. X+                 if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  253. X+                     echo "OK, that will do."
  254. X+                 else
  255. X+                     echo "Sorry, I can't get that to work.  Go find one."
  256. X+                     exit 1
  257. X+                 fi
  258. X+                 fi
  259. X+             fi
  260. X+             fi
  261. X+         fi
  262. X+         fi
  263. X+     fi
  264. X+     fi
  265. X+ fi
  266. X+ rm -f testcpp.c testcpp.out
  267. X+ 
  268. X  : see if sprintf is declared as int or pointer to char
  269. X  echo " "
  270. X  if $contains 'char.*sprintf' /usr/include/stdio.h >/dev/null 2>&1 ; then
  271. X***************
  272. X*** 579,584 ****
  273. X--- 671,691 ----
  274. X      esac
  275. X  fi
  276. X  
  277. X+ : see if stdio is really std
  278. X+ echo " "
  279. X+ if $contains 'char.*_ptr;' /usr/include/stdio.h >/dev/null 2>&1 ; then
  280. X+     if $contains '_cnt;' /usr/include/stdio.h >/dev/null 2>&1 ; then
  281. X+     echo "Your stdio is pretty std."
  282. X+     d_stdstdio="$define"
  283. X+     else
  284. X+     echo "Your stdio isn't very std."
  285. X+     d_stdstdio="$undef"
  286. X+     fi
  287. X+ else
  288. X+     echo "Your stdio isn't very std."
  289. X+     d_stdstdio="$undef"
  290. X+ fi
  291. X+ 
  292. X  : check for structure copying
  293. X  echo " "
  294. X  echo "Checking to see if your C compiler can copy structs..."
  295. X***************
  296. X*** 611,616 ****
  297. X--- 718,733 ----
  298. X      d_vfork="$define"
  299. X  fi
  300. X  
  301. X+ : see if signal is declared as pointer to function returning int or void
  302. X+ echo " "
  303. X+ if $contains 'void.*signal' /usr/include/signal.h >/dev/null 2>&1 ; then
  304. X+     echo "You have void (*signal())() instead of int."
  305. X+     d_voidsig="$define"
  306. X+ else
  307. X+     echo "You have int (*signal())() instead of void."
  308. X+     d_voidsig="$undef"
  309. X+ fi
  310. X+ 
  311. X  : check for void type
  312. X  echo " "
  313. X  $cat <<EOM
  314. X***************
  315. X*** 681,686 ****
  316. X--- 798,813 ----
  317. X  voidflags="$ans"
  318. X  $rm -f try.* .out
  319. X  
  320. X+ : see what type of char stdio uses.
  321. X+ echo " "
  322. X+ if $contains 'unsigned.*char.*_ptr;' /usr/include/stdio.h >/dev/null 2>&1 ; then
  323. X+     echo "Your stdio uses unsigned chars."
  324. X+     stdchar="unsigned char"
  325. X+ else
  326. X+     echo "Your stdio uses signed chars."
  327. X+     stdchar="char"
  328. X+ fi
  329. X+ 
  330. X  : preserve RCS keywords in files with variable substitution, grrr
  331. X  Log='$Log'
  332. X  Header='$Header'
  333. X***************
  334. X*** 793,853 ****
  335. X      ;;
  336. X  esac
  337. X  
  338. X- : see how we invoke the C preprocessor
  339. X- echo " "
  340. X- echo "Checking to see how your C preprocessor is invoked..."
  341. X- cat <<'EOT' >testcpp.c
  342. X- #define ABC abc
  343. X- #define XYZ xyz
  344. X- ABC.XYZ
  345. X- EOT
  346. X- echo 'Maybe "cc -E" will work...'
  347. X- cc -E testcpp.c >testcpp.out 2>&1
  348. X- if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  349. X-     echo "Yup, it does."
  350. X-     cpp='cc -E'
  351. X- else
  352. X-     echo 'Nope...maybe "cc -P" will work...'
  353. X-     cc -P testcpp.c >testcpp.out 2>&1
  354. X-     if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  355. X-     echo "Yup, that does."
  356. X-     cpp='cc -P'
  357. X-     else
  358. X-     echo 'Nixed again...maybe "/lib/cpp" will work...'
  359. X-     /lib/cpp testcpp.c >testcpp.out 2>&1
  360. X-     if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  361. X-         echo "Hooray, it works!  I was beginning to wonder."
  362. X-         cpp='/lib/cpp'
  363. X-     else
  364. X-         echo 'Hmm...maybe you already told me...'
  365. X-         case "$cpp" in
  366. X-         '') ;;
  367. X-         *) $cpp testcpp.c >testcpp.out 2>&1;;
  368. X-         esac
  369. X-         if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  370. X-         echo "Hooray, you did!  I was beginning to wonder."
  371. X-         else
  372. X-         dflt=blurfl
  373. X-         $echo $n "Nope. I can't find a C preprocessor.  Name one: $c"
  374. X-         rp='Name a C preprocessor:'
  375. X-         . myread
  376. X-         cpp="$ans"
  377. X-         $cpp testcpp.c >testcpp.out 2>&1
  378. X-         if $contains 'abc.xyz' testcpp.out >/dev/null 2>&1 ; then
  379. X-             echo "OK, that will do."
  380. X-         else
  381. X-             echo "Sorry, I can't get that to work.  Go find one."
  382. X-             exit 1
  383. X-         fi
  384. X-         fi
  385. X-     fi
  386. X-     fi
  387. X- fi
  388. X- rm -f testcpp.c testcpp.out
  389. X- 
  390. X  : get C preprocessor symbols handy
  391. X  echo " "
  392. X! echo $attrlist | $tr '[ ]' '[\012]' >Cppsym.know
  393. X  $cat <<EOSS >Cppsym
  394. X  $startsh
  395. X  case "\$1" in
  396. X--- 920,928 ----
  397. X      ;;
  398. X  esac
  399. X  
  400. X  : get C preprocessor symbols handy
  401. X  echo " "
  402. X! echo $attrlist | $tr '[ - ]' '[\012-\012]' >Cppsym.know
  403. X  $cat <<EOSS >Cppsym
  404. X  $startsh
  405. X  case "\$1" in
  406. X***************
  407. X*** 874,886 ****
  408. X  case \$# in
  409. X  0) exit 1;;
  410. X  esac
  411. X! echo \$* | $tr '[ ]' '[\012]' | $sed -e 's/\(.*\)/\\
  412. X  #ifdef \1\\
  413. X  exit 0; _ _ _ _\1\\     \1\\
  414. X  #endif\\
  415. X  /' >/tmp/Cppsym\$\$
  416. X  echo exit 1 >>/tmp/Cppsym\$\$
  417. X! $cpp /tmp/Cppsym\$\$ >/tmp/Cppsym2\$\$
  418. X  case "\$list" in
  419. X  true) awk '\$6 != "" {print substr(\$6,2,100)}' </tmp/Cppsym2\$\$ ;;
  420. X  *)
  421. X--- 949,961 ----
  422. X  case \$# in
  423. X  0) exit 1;;
  424. X  esac
  425. X! echo \$* | $tr '[ - ]' '[\012-\012]' | $sed -e 's/\(.*\)/\\
  426. X  #ifdef \1\\
  427. X  exit 0; _ _ _ _\1\\     \1\\
  428. X  #endif\\
  429. X  /' >/tmp/Cppsym\$\$
  430. X  echo exit 1 >>/tmp/Cppsym\$\$
  431. X! $cpp $cppminus </tmp/Cppsym\$\$ >/tmp/Cppsym2\$\$
  432. X  case "\$list" in
  433. X  true) awk '\$6 != "" {print substr(\$6,2,100)}' </tmp/Cppsym2\$\$ ;;
  434. X  *)
  435. X***************
  436. X*** 1123,1129 ****
  437. X      echo "New math library found."
  438. X      libnm='-lnm'
  439. X  else
  440. X!     ans=`loc libtermlib.a x $libpth`
  441. X      case "$ans" in
  442. X      x)
  443. X      echo "No nm library found--the normal math library will have to do."
  444. X--- 1198,1204 ----
  445. X      echo "New math library found."
  446. X      libnm='-lnm'
  447. X  else
  448. X!     ans=`loc libnm.a x $libpth`
  449. X      case "$ans" in
  450. X      x)
  451. X      echo "No nm library found--the normal math library will have to do."
  452. X***************
  453. X*** 1184,1193 ****
  454. X--- 1259,1271 ----
  455. X  cc='$cc'
  456. X  contains='$contains'
  457. X  cpp='$cpp'
  458. X+ cppminus='$cppminus'
  459. X  d_charsprf='$d_charsprf'
  460. X  d_index='$d_index'
  461. X+ d_stdstdio='$d_stdstdio'
  462. X  d_strctcpy='$d_strctcpy'
  463. X  d_vfork='$d_vfork'
  464. X+ d_voidsig='$d_voidsig'
  465. X  libc='$libc'
  466. X  libnm='$libnm'
  467. X  mansrc='$mansrc'
  468. X***************
  469. X*** 1207,1212 ****
  470. X--- 1285,1291 ----
  471. X  shsharp='$shsharp'
  472. X  sharpbang='$sharpbang'
  473. X  startsh='$startsh'
  474. X+ stdchar='$stdchar'
  475. X  voidflags='$voidflags'
  476. X  defvoidused='$defvoidused'
  477. X  CONFIG=true
  478. X***************
  479. X*** 1228,1234 ****
  480. X  
  481. X  echo " "
  482. X  echo "Doing variable substitutions on .SH files..."
  483. X! set `$grep '\.SH' <MANIFEST | awk '{print $1}'`
  484. X  for file in $*; do
  485. X      case "$file" in
  486. X      */*)
  487. X--- 1307,1320 ----
  488. X  
  489. X  echo " "
  490. X  echo "Doing variable substitutions on .SH files..."
  491. X! set x `$grep '\.SH' <MANIFEST | awk '{print $1}'`
  492. X! shift
  493. X! case $# in
  494. X! 0) set x *.SH; shift;;
  495. X! esac
  496. X! if test ! -f $1; then
  497. X!     shift
  498. X! fi
  499. X  for file in $*; do
  500. X      case "$file" in
  501. X      */*)
  502. XIndex: arg.c
  503. XPrereq: 1.0
  504. X*** arg.c.old    Thu Jan 21 22:20:55 1988
  505. X*** arg.c    Thu Jan 21 22:20:56 1988
  506. X***************
  507. X*** 1,6 ****
  508. X! /* $Header: arg.c,v 1.0 87/12/18 13:04:33 root Exp $
  509. X   *
  510. X   * $Log:    arg.c,v $
  511. X   * Revision 1.0  87/12/18  13:04:33  root
  512. X   * Initial revision
  513. X   * 
  514. X--- 1,9 ----
  515. X! /* $Header: arg.c,v 1.0.1.1 88/01/21 21:27:10 root Exp $
  516. X   *
  517. X   * $Log:    arg.c,v $
  518. X+  * Revision 1.0.1.1  88/01/21  21:27:10  root
  519. X+  * Now defines signal return values correctly using VOIDSIG.
  520. X+  * 
  521. X   * Revision 1.0  87/12/18  13:04:33  root
  522. X   * Initial revision
  523. X   * 
  524. X***************
  525. X*** 1173,1180 ****
  526. X--- 1176,1188 ----
  527. X      opargs[O_REPEAT] =        A(1,1,0);
  528. X  }
  529. X  
  530. X+ #ifdef VOIDSIG
  531. X+ static void (*ihand)();
  532. X+ static void (*qhand)();
  533. X+ #else
  534. X  static int (*ihand)();
  535. X  static int (*qhand)();
  536. X+ #endif
  537. X  
  538. X  STR *
  539. X  eval(arg,retary)
  540. XIndex: cmd.c
  541. XPrereq: 1.0
  542. X*** cmd.c.old    Thu Jan 21 22:20:30 1988
  543. X*** cmd.c    Thu Jan 21 22:20:31 1988
  544. X***************
  545. X*** 1,6 ****
  546. X! /* $Header: cmd.c,v 1.0 87/12/18 13:04:51 root Exp $
  547. X   *
  548. X   * $Log:    cmd.c,v $
  549. X   * Revision 1.0  87/12/18  13:04:51  root
  550. X   * Initial revision
  551. X   * 
  552. X--- 1,9 ----
  553. X! /* $Header: cmd.c,v 1.0.1.1 88/01/21 21:24:16 root Exp $
  554. X   *
  555. X   * $Log:    cmd.c,v $
  556. X+  * Revision 1.0.1.1  88/01/21  21:24:16  root
  557. X+  * The redo cmd got a segmentation fault because trace context stack overflowed.
  558. X+  * 
  559. X   * Revision 1.0  87/12/18  13:04:51  root
  560. X   * Initial revision
  561. X   * 
  562. X***************
  563. X*** 383,388 ****
  564. X--- 386,394 ----
  565. X      case O_NEXT:
  566. X          goto next_iter;
  567. X      case O_REDO:
  568. X+ #ifdef DEBUGGING
  569. X+         dlevel = olddlevel;
  570. X+ #endif
  571. X          goto doit;
  572. X      }
  573. X      oldspat = curspat;
  574. XIndex: config.h.SH
  575. X*** config.h.SH.old    Thu Jan 21 22:20:49 1988
  576. X*** config.h.SH    Thu Jan 21 22:20:49 1988
  577. X***************
  578. X*** 37,42 ****
  579. X--- 37,56 ----
  580. X  #$d_eunice    EUNICE        /**/
  581. X  #$d_eunice    VMS        /**/
  582. X  
  583. X+ /* CPP:
  584. X+  *    This symbol contains the first part of the string which will invoke
  585. X+  *    the C preprocessor on the standard input and produce to standard
  586. X+  *    output.     Typical value of "cc -E" or "/lib/cpp".
  587. X+  */
  588. X+ /* CPPMINUS:
  589. X+  *    This symbol contains the second part of the string which will invoke
  590. X+  *    the C preprocessor on the standard input and produce to standard
  591. X+  *    output.  This symbol will have the value "-" if CPP needs a minus
  592. X+  *    to specify standard input, otherwise the value is "".
  593. X+  */
  594. X+ #define CPP "$cpp"
  595. X+ #define CPPMINUS "$cppminus"
  596. X+ 
  597. X  /* CHARSPRINTF:
  598. X   *    This symbol is defined if this system declares "char *sprintf()" in
  599. X   *    stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
  600. X***************
  601. X*** 56,61 ****
  602. X--- 70,81 ----
  603. X  #$d_index    index strchr    /* cultural */
  604. X  #$d_index    rindex strrchr    /*  differences? */
  605. X  
  606. X+ /* STDSTDIO:
  607. X+  *    This symbol is defined if this system has a FILE structure declaring
  608. X+  *    _ptr and _cnt in stdio.h.
  609. X+  */
  610. X+ #$d_stdstdio    STDSTDIO     /**/
  611. X+ 
  612. X  /* STRUCTCOPY:
  613. X   *    This symbol, if defined, indicates that this C compiler knows how
  614. X   *    to copy structures.  If undefined, you'll need to use a block copy
  615. X***************
  616. X*** 68,73 ****
  617. X--- 88,107 ----
  618. X   *    vfork() routine isn't supported here.
  619. X   */
  620. X  #$d_vfork    vfork fork    /**/
  621. X+ 
  622. X+ /* VOIDSIG:
  623. X+  *    This symbol is defined if this system declares "void (*signal())()" in
  624. X+  *    signal.h.  The old way was to declare it as "int (*signal())()".  It
  625. X+  *    is up to the package author to declare things correctly based on the
  626. X+  *    symbol.
  627. X+  */
  628. X+ #$d_voidsig    VOIDSIG     /**/
  629. X+ 
  630. X+ /* STDCHAR:
  631. X+  *    This symbol is defined to be the type of char used in stdio.h.
  632. X+  *    It has the values "unsigned char" or "char".
  633. X+  */
  634. X+ #define STDCHAR $stdchar    /**/
  635. X  
  636. X  /* VOIDFLAGS:
  637. X   *    This symbol indicates how much support of the void type is given by this
  638. XIndex: perl.h
  639. XPrereq: 1.0
  640. X*** perl.h.old    Thu Jan 21 22:21:11 1988
  641. X*** perl.h    Thu Jan 21 22:21:12 1988
  642. X***************
  643. X*** 1,6 ****
  644. X! /* $Header: perl.h,v 1.0 87/12/18 13:05:38 root Exp $
  645. X   *
  646. X   * $Log:    perl.h,v $
  647. X   * Revision 1.0  87/12/18  13:05:38  root
  648. X   * Initial revision
  649. X   * 
  650. X--- 1,9 ----
  651. X! /* $Header: perl.h,v 1.0.1.1 88/01/21 21:29:23 root Exp $
  652. X   *
  653. X   * $Log:    perl.h,v $
  654. X+  * Revision 1.0.1.1  88/01/21  21:29:23  root
  655. X+  * No longer defines STDSTDIO--gets it from config.h now.
  656. X+  * 
  657. X   * Revision 1.0  87/12/18  13:05:38  root
  658. X   * Initial revision
  659. X   * 
  660. X***************
  661. X*** 7,13 ****
  662. X   */
  663. X  
  664. X  #define DEBUGGING
  665. X- #define STDSTDIO    /* eventually should be in config.h */
  666. X  
  667. X  #define VOIDUSED 1
  668. X  #include "config.h"
  669. X--- 10,15 ----
  670. XIndex: perly.c
  671. XPrereq: 1.0
  672. X*** perly.c.old    Thu Jan 21 22:20:38 1988
  673. X*** perly.c    Thu Jan 21 22:20:40 1988
  674. X***************
  675. X*** 1,6 ****
  676. X! char rcsid[] = "$Header: perly.c,v 1.0 87/12/18 15:53:31 root Exp $";
  677. X  /*
  678. X   * $Log:    perly.c,v $
  679. X   * Revision 1.0  87/12/18  15:53:31  root
  680. X   * Initial revision
  681. X   * 
  682. X--- 1,9 ----
  683. X! char rcsid[] = "$Header: perly.c,v 1.0.1.1 88/01/21 21:25:57 root Exp $";
  684. X  /*
  685. X   * $Log:    perly.c,v $
  686. X+  * Revision 1.0.1.1  88/01/21  21:25:57  root
  687. X+  * Now uses CPP and CPPMINUS symbols from config.h.
  688. X+  * 
  689. X   * Revision 1.0  87/12/18  15:53:31  root
  690. X   * Initial revision
  691. X   * 
  692. X***************
  693. X*** 118,125 ****
  694. X   -e '/^#[     ]*else/b' \
  695. X   -e '/^#[     ]*endif/b' \
  696. X   -e 's/^#.*//' \
  697. X!  %s | /lib/cpp -C %s-",
  698. X!       argv[0], str_get(str));
  699. X      rsfp = popen(buf,"r");
  700. X      }
  701. X      else if (!*argv[0])
  702. X--- 121,128 ----
  703. X   -e '/^#[     ]*else/b' \
  704. X   -e '/^#[     ]*endif/b' \
  705. X   -e 's/^#.*//' \
  706. X!  %s | %s -C %s%s",
  707. X!       argv[0], CPP, str_get(str), CPPMINUS);
  708. X      rsfp = popen(buf,"r");
  709. X      }
  710. X      else if (!*argv[0])
  711. XIndex: str.c
  712. XPrereq: 1.0
  713. X*** str.c.old    Thu Jan 21 22:21:04 1988
  714. X*** str.c    Thu Jan 21 22:21:04 1988
  715. X***************
  716. X*** 1,6 ****
  717. X! /* $Header: str.c,v 1.0 87/12/18 13:06:22 root Exp $
  718. X   *
  719. X   * $Log:    str.c,v $
  720. X   * Revision 1.0  87/12/18  13:06:22  root
  721. X   * Initial revision
  722. X   * 
  723. X--- 1,9 ----
  724. X! /* $Header: str.c,v 1.0.1.1 88/01/21 21:28:39 root Exp $
  725. X   *
  726. X   * $Log:    str.c,v $
  727. X+  * Revision 1.0.1.1  88/01/21  21:28:39  root
  728. X+  * Suppressed warning messages on signed vs unsigned chars in str_gets().
  729. X+  * 
  730. X   * Revision 1.0  87/12/18  13:06:22  root
  731. X   * Initial revision
  732. X   * 
  733. X***************
  734. X*** 318,325 ****
  735. X  
  736. X      register char *bp;        /* we're going to steal some values */
  737. X      register int cnt;        /*  from the stdio struct and put EVERYTHING */
  738. X!     register char *ptr;        /*   in the innermost loop into registers */
  739. X!     register char newline = record_separator;    /* (assuming >= 6 registers) */
  740. X      int i;
  741. X      int bpx;
  742. X      int obpx;
  743. X--- 321,328 ----
  744. X  
  745. X      register char *bp;        /* we're going to steal some values */
  746. X      register int cnt;        /*  from the stdio struct and put EVERYTHING */
  747. X!     register STDCHAR *ptr;    /*   in the innermost loop into registers */
  748. X!     register char newline = record_separator;/* (assuming >= 6 registers) */
  749. X      int i;
  750. X      int bpx;
  751. X      int obpx;
  752. X
  753. X
  754. END_OF_FILE
  755. if test 20256 -ne `wc -c <'patch1'`; then
  756.     echo shar: \"'patch1'\" unpacked with wrong size!
  757. fi
  758. # end of 'patch1'
  759. fi
  760. if test -f 'patch2' -a "${1}" != "-c" ; then 
  761.   echo shar: Will not clobber existing file \"'patch2'\"
  762. else
  763. echo shar: Extracting \"'patch2'\" \(14926 characters\)
  764. sed "s/^X//" >'patch2' <<'END_OF_FILE'
  765. XPath: bbn.com!bbn!husc6!cmcl2!nrl-cmf!ames!elroy!devvax!lroot
  766. XFrom: lroot@devvax.JPL.NASA.GOV (The Superuser)
  767. XNewsgroups: comp.sources.bugs
  768. XSubject: perl 1.0 patch #2
  769. XSummary: This is an official patch for perl 1.0.  Please apply it.
  770. XMessage-ID: <1144@devvax.JPL.NASA.GOV>
  771. XDate: 24 Jan 88 12:21:57 GMT
  772. XOrganization: Jet Propulsion Laboratory, Pasadena, CA
  773. XLines: 583
  774. X
  775. XSystem: perl version 1.0
  776. XPatch #: 2
  777. XPriority: HIGH
  778. XSubject: Various portability fixes.
  779. XFrom: Keith Waclena <keith@cerberus.uchicago.edu>
  780. XFrom: isis!aburt (Andrew Burt)
  781. X
  782. XDescription:
  783. X    Some things didn't work right on System V and Pyramids.
  784. X
  785. XFix:    From rn, say "| patch -p0 -d DIR", where DIR is your perl source
  786. X                  ^^^
  787. X    directory.  Outside of rn, say "cd DIR; patch -p0 <thisarticle".
  788. X    If you don't have the patch program, apply the following by hand,
  789. X    or get patch.
  790. X
  791. X>>>>>    *** NOTE: YOU MUST USE -p0 WITH PATCH OR IT WON'T WORK RIGHT ***  <<<<<
  792. X
  793. X    If patch indicates that patchlevel is the wrong version, you may need
  794. X    to apply one or more previous patches, or the patch may already
  795. X    have been applied.  See the patchlevel.h file to find out what has or
  796. X    has not been applied.  In any event, don't continue with the patch.
  797. X
  798. X    If you are missing previous patches they can be obtained from me:
  799. X
  800. X    Larry Wall
  801. X    lwall@jpl-devvax.jpl.nasa.gov
  802. X
  803. X    If you send a mail message of the following form it will greatly speed
  804. X    processing:
  805. X
  806. X    Subject: Command
  807. X    @SH mailpatch PATH perl 1.0 LIST
  808. X           ^ note the c
  809. X
  810. X    where PATH is a return path FROM ME TO YOU in Internet notation, and
  811. X    LIST is the number of one or more patches you need, separated by spaces,
  812. X    commas, and/or hyphens.  Saying 35- says everything from 35 to the end.
  813. X
  814. X    You can also get the patches via anonymous FTP from
  815. X    jpl-devvax.jpl.nasa.gov (128.149.8.43).
  816. X
  817. XIndex: patchlevel.h
  818. XPrereq: 1
  819. X1c1
  820. X< #define PATCHLEVEL 1
  821. X---
  822. X> #define PATCHLEVEL 2
  823. XIndex: Configure
  824. XPrereq: 1.0.1.1
  825. X*** Configure.old    Sun Jan 24 03:57:22 1988
  826. X--- Configure    Sun Jan 24 03:57:24 1988
  827. X***************
  828. X*** 8,14 ****
  829. X  # and edit it to reflect your system.  Some packages may include samples
  830. X  # of config.h for certain machines, so you might look for one of those.)
  831. X  #
  832. X! # $Header: Configure,v 1.0.1.1 88/01/21 21:21:47 root Exp $
  833. X  #
  834. X  # Yes, you may rip this off to use in other distribution packages.
  835. X  # (Note: this Configure script was generated automatically.  Rather than
  836. X--- 8,14 ----
  837. X  # and edit it to reflect your system.  Some packages may include samples
  838. X  # of config.h for certain machines, so you might look for one of those.)
  839. X  #
  840. X! # $Header: Configure,v 1.0.1.2 88/01/24 03:51:55 root Exp $
  841. X  #
  842. X  # Yes, you may rip this off to use in other distribution packages.
  843. X  # (Note: this Configure script was generated automatically.  Rather than
  844. X***************
  845. X*** 68,77 ****
  846. X--- 68,80 ----
  847. X  contains=''
  848. X  cpp=''
  849. X  cppminus=''
  850. X+ d_bcopy=''
  851. X  d_charsprf=''
  852. X  d_index=''
  853. X+ d_statblks=''
  854. X  d_stdstdio=''
  855. X  d_strctcpy=''
  856. X+ d_tminsys=''
  857. X  d_vfork=''
  858. X  d_voidsig=''
  859. X  libc=''
  860. X***************
  861. X*** 638,643 ****
  862. X--- 641,656 ----
  863. X  fi
  864. X  rm -f testcpp.c testcpp.out
  865. X  
  866. X+ : see if bcopy exists
  867. X+ echo " "
  868. X+ if $contains bcopy libc.list >/dev/null 2>&1; then
  869. X+     echo 'bcopy() found.'
  870. X+     d_bcopy="$define"
  871. X+ else
  872. X+     echo 'bcopy() not found.'
  873. X+     d_bcopy="$undef"
  874. X+ fi
  875. X+ 
  876. X  : see if sprintf is declared as int or pointer to char
  877. X  echo " "
  878. X  if $contains 'char.*sprintf' /usr/include/stdio.h >/dev/null 2>&1 ; then
  879. X***************
  880. X*** 671,676 ****
  881. X--- 684,704 ----
  882. X      esac
  883. X  fi
  884. X  
  885. X+ : see if stat knows about block sizes
  886. X+ echo " "
  887. X+ if $contains 'st_blocks;' /usr/include/sys/stat.h >/dev/null 2>&1 ; then
  888. X+     if $contains 'st_blksize;' /usr/include/sys/stat.h >/dev/null 2>&1 ; then
  889. X+     echo "Your stat knows about block sizes."
  890. X+     d_statblks="$define"
  891. X+     else
  892. X+     echo "Your stat doesn't know about block sizes."
  893. X+     d_statblks="$undef"
  894. X+     fi
  895. X+ else
  896. X+     echo "Your stat doesn't know about block sizes."
  897. X+     d_statblks="$undef"
  898. X+ fi
  899. X+ 
  900. X  : see if stdio is really std
  901. X  echo " "
  902. X  if $contains 'char.*_ptr;' /usr/include/stdio.h >/dev/null 2>&1 ; then
  903. X***************
  904. X*** 708,713 ****
  905. X--- 736,751 ----
  906. X  fi
  907. X  $rm -f try.*
  908. X  
  909. X+ : see if struct tm is defined in sys/time.h
  910. X+ echo " "
  911. X+ if $contains 'struct tm' /usr/include/time.h >/dev/null 2>&1 ; then
  912. X+     echo "You have struct tm defined in <time.h> rather than <sys/time.h>."
  913. X+     d_tminsys="$undef"
  914. X+ else
  915. X+     echo "You have struct tm defined in <sys/time.h> rather than <time.h>."
  916. X+     d_tminsys="$define"
  917. X+ fi
  918. X+ 
  919. X  : see if there is a vfork
  920. X  echo " "
  921. X  if $contains vfork libc.list >/dev/null 2>&1 ; then
  922. X***************
  923. X*** 1260,1269 ****
  924. X--- 1298,1310 ----
  925. X  contains='$contains'
  926. X  cpp='$cpp'
  927. X  cppminus='$cppminus'
  928. X+ d_bcopy='$d_bcopy'
  929. X  d_charsprf='$d_charsprf'
  930. X  d_index='$d_index'
  931. X+ d_statblks='$d_statblks'
  932. X  d_stdstdio='$d_stdstdio'
  933. X  d_strctcpy='$d_strctcpy'
  934. X+ d_tminsys='$d_tminsys'
  935. X  d_vfork='$d_vfork'
  936. X  d_voidsig='$d_voidsig'
  937. X  libc='$libc'
  938. XIndex: Makefile.SH
  939. XPrereq: 1.0
  940. X*** Makefile.SH.old    Sun Jan 24 03:58:02 1988
  941. X--- Makefile.SH    Sun Jan 24 03:58:03 1988
  942. X***************
  943. X*** 14,28 ****
  944. X  esac
  945. X  echo "Extracting Makefile (with variable substitutions)"
  946. X  cat >Makefile <<!GROK!THIS!
  947. X! # $Header: Makefile.SH,v 1.0 87/12/18 16:11:50 root Exp $
  948. X  #
  949. X  # $Log:    Makefile.SH,v $
  950. X  # Revision 1.0  87/12/18  16:11:50  root
  951. X  # Initial revision
  952. X- # 
  953. X- # Revision 1.0  87/12/18  16:01:07  root
  954. X- # Initial revision
  955. X- # 
  956. X  # 
  957. X  
  958. X  CC = $cc
  959. X--- 14,27 ----
  960. X  esac
  961. X  echo "Extracting Makefile (with variable substitutions)"
  962. X  cat >Makefile <<!GROK!THIS!
  963. X! # $Header: Makefile.SH,v 1.0.1.1 88/01/24 03:55:18 root Exp $
  964. X  #
  965. X  # $Log:    Makefile.SH,v $
  966. X+ # Revision 1.0.1.1  88/01/24  03:55:18  root
  967. X+ # patch 2: remove extra Log lines.
  968. X+ # 
  969. X  # Revision 1.0  87/12/18  16:11:50  root
  970. X  # Initial revision
  971. X  # 
  972. X  
  973. X  CC = $cc
  974. XIf t/TEST isn't found, you probably didn't say -p0 like I told you to above.
  975. XJust say t/TEST now.  Likewise for t/op.time.
  976. X
  977. XIndex: t/TEST
  978. XPrereq: 1.0
  979. X*** t/TEST.old    Sun Jan 24 03:58:07 1988
  980. X--- t/TEST    Sun Jan 24 03:58:08 1988
  981. X***************
  982. X*** 1,6 ****
  983. X  #!./perl
  984. X  
  985. X! # $Header: TEST,v 1.0 87/12/18 13:11:34 root Exp $
  986. X  
  987. X  # This is written in a peculiar style, since we're trying to avoid
  988. X  # most of the constructs we'll be testing for.
  989. X--- 1,6 ----
  990. X  #!./perl
  991. X  
  992. X! # $Header: TEST,v 1.0.1.1 88/01/24 03:55:39 root Exp $
  993. X  
  994. X  # This is written in a peculiar style, since we're trying to avoid
  995. X  # most of the constructs we'll be testing for.
  996. X***************
  997. X*** 14,23 ****
  998. X      @ARGV = split(/[ \n]/,`echo base.* comp.* cmd.* io.* op.*`);
  999. X  }
  1000. X  
  1001. X  $bad = 0;
  1002. X  while ($test = shift) {
  1003. X      print "$test...";
  1004. X!     open(results,"$test|") || (print "can't run.\n");
  1005. X      $ok = 0;
  1006. X      while (<results>) {
  1007. X      if ($verbose) {
  1008. X--- 14,42 ----
  1009. X      @ARGV = split(/[ \n]/,`echo base.* comp.* cmd.* io.* op.*`);
  1010. X  }
  1011. X  
  1012. X+ open(config,"../config.sh");
  1013. X+ while (<config>) {
  1014. X+     if (/sharpbang='(.*)'/) {
  1015. X+     $sharpbang = ($1 eq '#!');
  1016. X+     last;
  1017. X+     }
  1018. X+ }
  1019. X  $bad = 0;
  1020. X  while ($test = shift) {
  1021. X      print "$test...";
  1022. X!     if ($sharpbang) {
  1023. X!     open(results,"$test|") || (print "can't run.\n");
  1024. X!     } else {
  1025. X!     open(script,"$test") || die "Can't run $test";
  1026. X!     $_ = <script>;
  1027. X!     close(script);
  1028. X!     if (/#!..perl(.*)/) {
  1029. X!         $switch = $1;
  1030. X!     } else {
  1031. X!         $switch = '';
  1032. X!     }
  1033. X!     open(results,"./perl$switch $test|") || (print "can't run.\n");
  1034. X!     }
  1035. X      $ok = 0;
  1036. X      while (<results>) {
  1037. X      if ($verbose) {
  1038. XIndex: arg.c
  1039. XPrereq: 1.0.1.1
  1040. X*** arg.c.old    Sun Jan 24 03:57:33 1988
  1041. X--- arg.c    Sun Jan 24 03:57:35 1988
  1042. X***************
  1043. X*** 1,6 ****
  1044. X! /* $Header: arg.c,v 1.0.1.1 88/01/21 21:27:10 root Exp $
  1045. X   *
  1046. X   * $Log:    arg.c,v $
  1047. X   * Revision 1.0.1.1  88/01/21  21:27:10  root
  1048. X   * Now defines signal return values correctly using VOIDSIG.
  1049. X   * 
  1050. X--- 1,9 ----
  1051. X! /* $Header: arg.c,v 1.0.1.2 88/01/24 03:52:34 root Exp $
  1052. X   *
  1053. X   * $Log:    arg.c,v $
  1054. X+  * Revision 1.0.1.2  88/01/24  03:52:34  root
  1055. X+  * patch 2: added STATBLKS dependencies.
  1056. X+  * 
  1057. X   * Revision 1.0.1.1  88/01/21  21:27:10  root
  1058. X   * Now defines signal return values correctly using VOIDSIG.
  1059. X   * 
  1060. X***************
  1061. X*** 542,549 ****
  1062. X--- 545,557 ----
  1063. X          apush(ary,str_nmake((double)statbuf.st_atime));
  1064. X          apush(ary,str_nmake((double)statbuf.st_mtime));
  1065. X          apush(ary,str_nmake((double)statbuf.st_ctime));
  1066. X+ #ifdef STATBLOCKS
  1067. X          apush(ary,str_nmake((double)statbuf.st_blksize));
  1068. X          apush(ary,str_nmake((double)statbuf.st_blocks));
  1069. X+ #else
  1070. X+         apush(ary,str_make("");
  1071. X+         apush(ary,str_make("");
  1072. X+ #endif
  1073. X      }
  1074. X      sarg = (STR**)safemalloc((max+2)*sizeof(STR*));
  1075. X      sarg[0] = Nullstr;
  1076. XIndex: malloc.c
  1077. XPrereq: 1.0
  1078. X*** malloc.c.old    Sun Jan 24 03:57:44 1988
  1079. X--- malloc.c    Sun Jan 24 03:57:45 1988
  1080. X***************
  1081. X*** 1,6 ****
  1082. X! /* $Header: malloc.c,v 1.0 87/12/18 13:05:35 root Exp $
  1083. X   *
  1084. X   * $Log:    malloc.c,v $
  1085. X   * Revision 1.0  87/12/18  13:05:35  root
  1086. X   * Initial revision
  1087. X   * 
  1088. X--- 1,9 ----
  1089. X! /* $Header: malloc.c,v 1.0.1.1 88/01/24 03:53:23 root Exp $
  1090. X   *
  1091. X   * $Log:    malloc.c,v $
  1092. X+  * Revision 1.0.1.1  88/01/24  03:53:23  root
  1093. X+  * patch 2: made depend on perl.h.
  1094. X+  * 
  1095. X   * Revision 1.0  87/12/18  13:05:35  root
  1096. X   * Initial revision
  1097. X   * 
  1098. X***************
  1099. X*** 24,30 ****
  1100. X   * but bombs when it runs out. 
  1101. X   */
  1102. X  
  1103. X! #include <sys/types.h>
  1104. X  
  1105. X  #define    NULL 0
  1106. X  
  1107. X--- 27,42 ----
  1108. X   * but bombs when it runs out. 
  1109. X   */
  1110. X  
  1111. X! #include "EXTERN.h"
  1112. X! #include "handy.h"
  1113. X! #include "search.h"
  1114. X! #include "perl.h"
  1115. X! 
  1116. X! /* I don't much care whether these are defined in sys/types.h--LAW */
  1117. X! 
  1118. X! #define u_char unsigned char
  1119. X! #define u_int unsigned int
  1120. X! #define u_short unsigned short
  1121. X  
  1122. X  #define    NULL 0
  1123. X  
  1124. XIndex: t/op.time
  1125. XPrereq: 1.0
  1126. X*** t/op.time.old    Sun Jan 24 03:58:13 1988
  1127. X--- t/op.time    Sun Jan 24 03:58:13 1988
  1128. X***************
  1129. X*** 1,6 ****
  1130. X  #!./perl
  1131. X  
  1132. X! # $Header: op.time,v 1.0 87/12/18 13:14:33 root Exp $
  1133. X  
  1134. X  print "1..5\n";
  1135. X  
  1136. X--- 1,6 ----
  1137. X  #!./perl
  1138. X  
  1139. X! # $Header: op.time,v 1.0.1.1 88/01/24 03:56:09 root Exp $
  1140. X  
  1141. X  print "1..5\n";
  1142. X  
  1143. X***************
  1144. X*** 24,30 ****
  1145. X  ($xsec,$foo) = localtime($now);
  1146. X  $localyday = $yday;
  1147. X  
  1148. X! if ($sec != $xsec && $yday && $wday && $year)
  1149. X      {print "ok 3\n";}
  1150. X  else
  1151. X      {print "not ok 3\n";}
  1152. X--- 24,30 ----
  1153. X  ($xsec,$foo) = localtime($now);
  1154. X  $localyday = $yday;
  1155. X  
  1156. X! if ($sec != $xsec && $mday && $year)
  1157. X      {print "ok 3\n";}
  1158. X  else
  1159. X      {print "not ok 3\n";}
  1160. X***************
  1161. X*** 32,38 ****
  1162. X  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($beg);
  1163. X  ($xsec,$foo) = localtime($now);
  1164. X  
  1165. X! if ($sec != $xsec && $yday && $wday && $year)
  1166. X      {print "ok 4\n";}
  1167. X  else
  1168. X      {print "not ok 4\n";}
  1169. X--- 32,38 ----
  1170. X  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($beg);
  1171. X  ($xsec,$foo) = localtime($now);
  1172. X  
  1173. X! if ($sec != $xsec && $mday && $year)
  1174. X      {print "ok 4\n";}
  1175. X  else
  1176. X      {print "not ok 4\n";}
  1177. XIndex: perl.h
  1178. XPrereq: 1.0.1.1
  1179. X*** perl.h.old    Sun Jan 24 03:57:51 1988
  1180. X--- perl.h    Sun Jan 24 03:57:51 1988
  1181. X***************
  1182. X*** 1,6 ****
  1183. X! /* $Header: perl.h,v 1.0.1.1 88/01/21 21:29:23 root Exp $
  1184. X   *
  1185. X   * $Log:    perl.h,v $
  1186. X   * Revision 1.0.1.1  88/01/21  21:29:23  root
  1187. X   * No longer defines STDSTDIO--gets it from config.h now.
  1188. X   * 
  1189. X--- 1,9 ----
  1190. X! /* $Header: perl.h,v 1.0.1.2 88/01/24 03:53:47 root Exp $
  1191. X   *
  1192. X   * $Log:    perl.h,v $
  1193. X+  * Revision 1.0.1.2  88/01/24  03:53:47  root
  1194. X+  * patch 2: hid str_peek() in #ifdef DEBUGGING.
  1195. X+  * 
  1196. X   * Revision 1.0.1.1  88/01/21  21:29:23  root
  1197. X   * No longer defines STDSTDIO--gets it from config.h now.
  1198. X   * 
  1199. X***************
  1200. X*** 24,30 ****
  1201. X--- 27,39 ----
  1202. X  #include <setjmp.h>
  1203. X  #include <sys/types.h>
  1204. X  #include <sys/stat.h>
  1205. X+ 
  1206. X+ #ifdef TMINSYS
  1207. X+ #include <sys/time.h>
  1208. X+ #else
  1209. X  #include <time.h>
  1210. X+ #endif
  1211. X+ 
  1212. X  #include <sys/times.h>
  1213. X  
  1214. X  typedef struct arg ARG;
  1215. X***************
  1216. X*** 46,51 ****
  1217. X--- 55,66 ----
  1218. X  #include "array.h"
  1219. X  #include "hash.h"
  1220. X  
  1221. X+ #ifdef CHARSPRINTF
  1222. X+     char *sprintf();
  1223. X+ #else
  1224. X+     int sprintf();
  1225. X+ #endif
  1226. X+ 
  1227. X  /* A string is TRUE if not "" or "0". */
  1228. X  #define True(val) (tmps = (val), (*tmps && !(*tmps == '0' && !tmps[1])))
  1229. X  EXT char *Yes INIT("1");
  1230. X***************
  1231. X*** 53,59 ****
  1232. X--- 68,77 ----
  1233. X  
  1234. X  #define str_true(str) (Str = (str), (Str->str_pok ? True(Str->str_ptr) : (Str->str_nok ? (Str->str_nval != 0.0) : 0 )))
  1235. X  
  1236. X+ #ifdef DEBUGGING
  1237. X  #define str_peek(str) (Str = (str), (Str->str_pok ? Str->str_ptr : (Str->str_nok ? (sprintf(buf,"num(%g)",Str->str_nval),buf) : "" )))
  1238. X+ #endif
  1239. X+ 
  1240. X  #define str_get(str) (Str = (str), (Str->str_pok ? Str->str_ptr : str_2ptr(Str)))
  1241. X  #define str_gnum(str) (Str = (str), (Str->str_nok ? Str->str_nval : str_2num(Str)))
  1242. X  EXT STR *Str;
  1243. X***************
  1244. X*** 184,195 ****
  1245. X  double atof();
  1246. X  long time();
  1247. X  struct tm *gmtime(), *localtime();
  1248. X- 
  1249. X- #ifdef CHARSPRINTF
  1250. X-     char *sprintf();
  1251. X- #else
  1252. X-     int sprintf();
  1253. X- #endif
  1254. X  
  1255. X  #ifdef EUNICE
  1256. X  #define UNLINK(f) while (unlink(f) >= 0)
  1257. X--- 202,207 ----
  1258. XIndex: perly.c
  1259. XPrereq: 1.0.1.1
  1260. X*** perly.c.old    Sun Jan 24 03:57:09 1988
  1261. X--- perly.c    Sun Jan 24 03:57:12 1988
  1262. X***************
  1263. X*** 1,6 ****
  1264. X! char rcsid[] = "$Header: perly.c,v 1.0.1.1 88/01/21 21:25:57 root Exp $";
  1265. X  /*
  1266. X   * $Log:    perly.c,v $
  1267. X   * Revision 1.0.1.1  88/01/21  21:25:57  root
  1268. X   * Now uses CPP and CPPMINUS symbols from config.h.
  1269. X   * 
  1270. X--- 1,9 ----
  1271. X! char rcsid[] = "$Header: perly.c,v 1.0.1.2 88/01/24 00:06:03 root Exp $";
  1272. X  /*
  1273. X   * $Log:    perly.c,v $
  1274. X+  * Revision 1.0.1.2  88/01/24  00:06:03  root
  1275. X+  * patch 2: s/(abc)/\1/ grandfathering didn't work right.
  1276. X+  * 
  1277. X   * Revision 1.0.1.1  88/01/21  21:25:57  root
  1278. X   * Now uses CPP and CPPMINUS symbols from config.h.
  1279. X   * 
  1280. X***************
  1281. X*** 1646,1652 ****
  1282. X                  *d <<= 3;
  1283. X                  *d += *s++ - '0';
  1284. X              }
  1285. X!             else if (!index('`"',term)) {    /* oops, a subpattern */
  1286. X                  s--;
  1287. X                  goto defchar;
  1288. X              }
  1289. X--- 1649,1655 ----
  1290. X                  *d <<= 3;
  1291. X                  *d += *s++ - '0';
  1292. X              }
  1293. X!             else if (!index("`\"",term)) {    /* oops, a subpattern */
  1294. X                  s--;
  1295. X                  goto defchar;
  1296. X              }
  1297. XIndex: search.c
  1298. XPrereq: 1.0
  1299. X*** search.c.old    Sun Jan 24 03:57:57 1988
  1300. X--- search.c    Sun Jan 24 03:57:57 1988
  1301. X***************
  1302. X*** 1,6 ****
  1303. X! /* $Header: search.c,v 1.0 87/12/18 13:05:59 root Exp $
  1304. X   *
  1305. X   * $Log:    search.c,v $
  1306. X   * Revision 1.0  87/12/18  13:05:59  root
  1307. X   * Initial revision
  1308. X   * 
  1309. X--- 1,9 ----
  1310. X! /* $Header: search.c,v 1.0.1.1 88/01/24 03:55:05 root Exp $
  1311. X   *
  1312. X   * $Log:    search.c,v $
  1313. X+  * Revision 1.0.1.1  88/01/24  03:55:05  root
  1314. X+  * patch 2: made depend on perl.h.
  1315. X+  * 
  1316. X   * Revision 1.0  87/12/18  13:05:59  root
  1317. X   * Initial revision
  1318. X   * 
  1319. X***************
  1320. X*** 8,21 ****
  1321. X  
  1322. X  /* string search routines */
  1323. X   
  1324. X- #include <stdio.h>
  1325. X- #include <ctype.h>
  1326. X- 
  1327. X  #include "EXTERN.h"
  1328. X  #include "handy.h"
  1329. X  #include "util.h"
  1330. X  #include "INTERN.h"
  1331. X  #include "search.h"
  1332. X  
  1333. X  #define VERBOSE
  1334. X  #define FLUSH
  1335. X--- 11,23 ----
  1336. X  
  1337. X  /* string search routines */
  1338. X   
  1339. X  #include "EXTERN.h"
  1340. X  #include "handy.h"
  1341. X  #include "util.h"
  1342. X  #include "INTERN.h"
  1343. X  #include "search.h"
  1344. X+ #include "EXTERN.h"
  1345. X+ #include "perl.h"
  1346. X  
  1347. X  #define VERBOSE
  1348. X  #define FLUSH
  1349. END_OF_FILE
  1350. if test 14926 -ne `wc -c <'patch2'`; then
  1351.     echo shar: \"'patch2'\" unpacked with wrong size!
  1352. fi
  1353. # end of 'patch2'
  1354. fi
  1355. if test -f 'patch3' -a "${1}" != "-c" ; then 
  1356.   echo shar: Will not clobber existing file \"'patch3'\"
  1357. else
  1358. echo shar: Extracting \"'patch3'\" \(3286 characters\)
  1359. sed "s/^X//" >'patch3' <<'END_OF_FILE'
  1360. XPath: bbn.com!bbn!oberon!cit-vax!elroy!devvax!lroot
  1361. XFrom: lroot@devvax.JPL.NASA.GOV (The Superuser)
  1362. XNewsgroups: comp.sources.bugs
  1363. XSubject: perl 1.0 patch #3
  1364. XSummary: This is an official patch for perl 1.0.  Please apply it.
  1365. XMessage-ID: <1145@devvax.JPL.NASA.GOV>
  1366. XDate: 24 Jan 88 12:28:53 GMT
  1367. XOrganization: Jet Propulsion Laboratory, Pasadena, CA
  1368. XLines: 98
  1369. X
  1370. XSystem: perl version 1.0
  1371. XPatch #: 3
  1372. XPriority: HIGH
  1373. XSubject: Patch 2 was incomplete
  1374. X
  1375. XDescription:
  1376. X    I left one file out of patch 2.  This is perhaps forgivable since
  1377. X    it is a file that is produced automatically by metaconfig along
  1378. X    with Configure.
  1379. X
  1380. XFix:    From rn, say "| patch -d DIR", where DIR is your perl source
  1381. X    directory.  Outside of rn, say "cd DIR; patch <thisarticle".
  1382. X    If you don't have the patch program, apply the following by hand,
  1383. X    or get patch.
  1384. X
  1385. X    After applying the patch, rerun Configure.
  1386. X
  1387. X    If patch indicates that patchlevel is the wrong version, you may need
  1388. X    to apply one or more previous patches, or the patch may already
  1389. X    have been applied.  See the patchlevel.h file to find out what has or
  1390. X    has not been applied.  In any event, don't continue with the patch.
  1391. X
  1392. X    If you are missing previous patches they can be obtained from me:
  1393. X
  1394. X    Larry Wall
  1395. X    lwall@jpl-devvax.jpl.nasa.gov
  1396. X
  1397. X    If you send a mail message of the following form it will greatly speed
  1398. X    processing:
  1399. X
  1400. X    Subject: Command
  1401. X    @SH mailpatch PATH perl 1.0 LIST
  1402. X           ^ note the c
  1403. X
  1404. X    where PATH is a return path FROM ME TO YOU in Internet notation, and
  1405. X    LIST is the number of one or more patches you need, separated by spaces,
  1406. X    commas, and/or hyphens.  Saying 35- says everything from 35 to the end.
  1407. X
  1408. X    You can also get the patches via anonymous FTP from
  1409. X    jpl-devvax.jpl.nasa.gov (128.149.8.43).
  1410. X
  1411. XIndex: patchlevel.h
  1412. XPrereq: 2
  1413. X1c1
  1414. X< #define PATCHLEVEL 2
  1415. X---
  1416. X> #define PATCHLEVEL 3
  1417. XIndex: config.h.SH
  1418. X*** config.h.SH.old    Sun Jan 24 04:23:55 1988
  1419. X--- config.h.SH    Sun Jan 24 04:23:56 1988
  1420. X***************
  1421. X*** 51,56 ****
  1422. X--- 51,62 ----
  1423. X  #define CPP "$cpp"
  1424. X  #define CPPMINUS "$cppminus"
  1425. X  
  1426. X+ /* BCOPY:
  1427. X+  *    This symbol, if defined, indicates that the bcopy routine is available
  1428. X+  *    to copy blocks of memory.  Otherwise you should probably use memcpy().
  1429. X+  */
  1430. X+ #$d_bcopy    BCOPY        /**/
  1431. X+ 
  1432. X  /* CHARSPRINTF:
  1433. X   *    This symbol is defined if this system declares "char *sprintf()" in
  1434. X   *    stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
  1435. X***************
  1436. X*** 70,75 ****
  1437. X--- 76,87 ----
  1438. X  #$d_index    index strchr    /* cultural */
  1439. X  #$d_index    rindex strrchr    /*  differences? */
  1440. X  
  1441. X+ /* STATBLOCKS:
  1442. X+  *    This symbol is defined if this system has a stat structure declaring
  1443. X+  *    st_blksize and st_blocks.
  1444. X+  */
  1445. X+ #$d_statblks    STATBLOCKS     /**/
  1446. X+ 
  1447. X  /* STDSTDIO:
  1448. X   *    This symbol is defined if this system has a FILE structure declaring
  1449. X   *    _ptr and _cnt in stdio.h.
  1450. X***************
  1451. X*** 82,87 ****
  1452. X--- 94,107 ----
  1453. X   *    routine of some sort instead.
  1454. X   */
  1455. X  #$d_strctcpy    STRUCTCOPY    /**/
  1456. X+ 
  1457. X+ /* TMINSYS:
  1458. X+  *    This symbol is defined if this system declares "struct tm" in
  1459. X+  *    in <sys/time.h> rather than <time.h>.  We can't just say
  1460. X+  *    -I/usr/include/sys because some systems have both time files, and
  1461. X+  *    the -I trick gets the wrong one.
  1462. X+  */
  1463. X+ #$d_tminsys    TMINSYS     /**/
  1464. X  
  1465. X  /* vfork:
  1466. X   *    This symbol, if defined, remaps the vfork routine to fork if the
  1467. END_OF_FILE
  1468. if test 3286 -ne `wc -c <'patch3'`; then
  1469.     echo shar: \"'patch3'\" unpacked with wrong size!
  1470. fi
  1471. # end of 'patch3'
  1472. fi
  1473. if test -f 'patch4' -a "${1}" != "-c" ; then 
  1474.   echo shar: Will not clobber existing file \"'patch4'\"
  1475. else
  1476. echo shar: Extracting \"'patch4'\" \(2978 characters\)
  1477. sed "s/^X//" >'patch4' <<'END_OF_FILE'
  1478. XPath: bbn.com!bbn!husc6!mit-eddie!ll-xn!ames!elroy!devvax!lroot
  1479. XFrom: lroot@devvax.JPL.NASA.GOV (The Superuser)
  1480. XNewsgroups: comp.sources.bugs
  1481. XSubject: perl 1.0 patch #4
  1482. XSummary: This is an official patch for perl 1.0.  Please apply it.
  1483. XMessage-ID: <1152@devvax.JPL.NASA.GOV>
  1484. XDate: 26 Jan 88 16:54:21 GMT
  1485. XOrganization: Jet Propulsion Laboratory, Pasadena, CA
  1486. XLines: 90
  1487. X
  1488. XSystem: perl version 1.0
  1489. XPatch #: 4
  1490. XPriority: LOW to MEDIUM, depending
  1491. XSubject: make depend doesn't work if . isn't in your PATH
  1492. XFrom: eggert@sea.sm.unisys.com (Paul Eggert)
  1493. X
  1494. XDescription:
  1495. X    make depend doesn't work if . isn't in your PATH.
  1496. X
  1497. XFix:    From rn, say "| patch -d DIR", where DIR is your perl source
  1498. X    directory.  Outside of rn, say "cd DIR; patch <thisarticle".
  1499. X    If you don't have the patch program, apply the following by hand,
  1500. X    or get patch.
  1501. X
  1502. X    If patch indicates that patchlevel is the wrong version, you may need
  1503. X    to apply one or more previous patches, or the patch may already
  1504. X    have been applied.  See the patchlevel.h file to find out what has or
  1505. X    has not been applied.  In any event, don't continue with the patch.
  1506. X
  1507. X    If you are missing previous patches they can be obtained from me:
  1508. X
  1509. X    Larry Wall
  1510. X    lwall@jpl-devvax.jpl.nasa.gov
  1511. X
  1512. X    If you send a mail message of the following form it will greatly speed
  1513. X    processing:
  1514. X
  1515. X    Subject: Command
  1516. X    @SH mailpatch PATH perl 1.0 LIST
  1517. X           ^ note the c
  1518. X
  1519. X    where PATH is a return path FROM ME TO YOU in Internet notation, and
  1520. X    LIST is the number of one or more patches you need, separated by spaces,
  1521. X    commas, and/or hyphens.  Saying 35- says everything from 35 to the end.
  1522. X
  1523. X    You can also get the patches via anonymous FTP from
  1524. X    jpl-devvax.jpl.nasa.gov (128.149.8.43).
  1525. X
  1526. XIndex: patchlevel.h
  1527. XPrereq: 3
  1528. X1c1
  1529. X< #define PATCHLEVEL 3
  1530. X---
  1531. X> #define PATCHLEVEL 4
  1532. XIndex: Makefile.SH
  1533. XPrereq: 1.0.1.1
  1534. X*** Makefile.SH.old    Tue Jan 26 08:48:31 1988
  1535. X--- Makefile.SH    Tue Jan 26 08:48:32 1988
  1536. X***************
  1537. X*** 14,22 ****
  1538. X  esac
  1539. X  echo "Extracting Makefile (with variable substitutions)"
  1540. X  cat >Makefile <<!GROK!THIS!
  1541. X! # $Header: Makefile.SH,v 1.0.1.1 88/01/24 03:55:18 root Exp $
  1542. X  #
  1543. X  # $Log:    Makefile.SH,v $
  1544. X  # Revision 1.0.1.1  88/01/24  03:55:18  root
  1545. X  # patch 2: remove extra Log lines.
  1546. X  # 
  1547. X--- 14,25 ----
  1548. X  esac
  1549. X  echo "Extracting Makefile (with variable substitutions)"
  1550. X  cat >Makefile <<!GROK!THIS!
  1551. X! # $Header: Makefile.SH,v 1.0.1.2 88/01/26 08:46:04 root Exp $
  1552. X  #
  1553. X  # $Log:    Makefile.SH,v $
  1554. X+ # Revision 1.0.1.2  88/01/26  08:46:04  root
  1555. X+ # patch 4: make depend didn't work right if . wasn't in PATH.
  1556. X+ # 
  1557. X  # Revision 1.0.1.1  88/01/24  03:55:18  root
  1558. X  # patch 2: remove extra Log lines.
  1559. X  # 
  1560. X***************
  1561. X*** 137,143 ****
  1562. X      lint $(lintflags) $(defs) $(c) > perl.fuzz
  1563. X  
  1564. X  depend: makedepend
  1565. X!     makedepend
  1566. X  
  1567. X  test: perl
  1568. X      chmod 755 t/TEST t/base.* t/comp.* t/cmd.* t/io.* t/op.*
  1569. X--- 140,146 ----
  1570. X      lint $(lintflags) $(defs) $(c) > perl.fuzz
  1571. X  
  1572. X  depend: makedepend
  1573. X!     ./makedepend
  1574. X  
  1575. X  test: perl
  1576. X      chmod 755 t/TEST t/base.* t/comp.* t/cmd.* t/io.* t/op.*
  1577. END_OF_FILE
  1578. if test 2978 -ne `wc -c <'patch4'`; then
  1579.     echo shar: \"'patch4'\" unpacked with wrong size!
  1580. fi
  1581. # end of 'patch4'
  1582. fi
  1583. if test -f 'patch5' -a "${1}" != "-c" ; then 
  1584.   echo shar: Will not clobber existing file \"'patch5'\"
  1585. else
  1586. echo shar: Extracting \"'patch5'\" \(2834 characters\)
  1587. sed "s/^X//" >'patch5' <<'END_OF_FILE'
  1588. XPath: bbn.com!bbn!husc6!think!ames!elroy!devvax!lroot
  1589. XFrom: lroot@devvax.JPL.NASA.GOV (The Superuser)
  1590. XNewsgroups: comp.sources.bugs
  1591. XSubject: perl 1.0 patch #5
  1592. XSummary: This is an official patch for perl 1.0.  Please apply it.
  1593. XMessage-ID: <1155@devvax.JPL.NASA.GOV>
  1594. XDate: 26 Jan 88 18:00:14 GMT
  1595. XOrganization: Jet Propulsion Laboratory, Pasadena, CA
  1596. XLines: 88
  1597. X
  1598. XSystem: perl version 1.0
  1599. XPatch #: 5
  1600. XPriority: MEDIUM for Sys V, LOW otherwise
  1601. XSubject: a2p didn't make use of the config.h generated by Configure
  1602. XFrom: "Arnold D. Robbins" <arnold@EMORYU2.ARPA>
  1603. X
  1604. XDescription:
  1605. X    The a2p program used index() and bcopy(), both of do not exist
  1606. X    everywhere.  Since Configure was already figuring out about those
  1607. X    functions, it is fairly trivial to get a2p to make use of the info.
  1608. X
  1609. XFix:    From rn, say "| patch -p0 -d DIR", where DIR is your perl source
  1610. X                  ^^^
  1611. X    directory.  Outside of rn, say "cd DIR; patch -p0 <thisarticle".
  1612. X    If you don't have the patch program, apply the following by hand,
  1613. X    or get patch.
  1614. X
  1615. X>>>    *** NOTE: the -p0 is necessary above or patch won't find a2p.h ***
  1616. X
  1617. X    If patch indicates that patchlevel is the wrong version, you may need
  1618. X    to apply one or more previous patches, or the patch may already
  1619. X    have been applied.  See the patchlevel.h file to find out what has or
  1620. X    has not been applied.  In any event, don't continue with the patch.
  1621. X
  1622. X    If you are missing previous patches they can be obtained from me:
  1623. X
  1624. X    Larry Wall
  1625. X    lwall@jpl-devvax.jpl.nasa.gov
  1626. X
  1627. X    If you send a mail message of the following form it will greatly speed
  1628. X    processing:
  1629. X
  1630. X    Subject: Command
  1631. X    @SH mailpatch PATH perl 1.0 LIST
  1632. X           ^ note the c
  1633. X
  1634. X    where PATH is a return path FROM ME TO YOU in Internet notation, and
  1635. X    LIST is the number of one or more patches you need, separated by spaces,
  1636. X    commas, and/or hyphens.  Saying 35- says everything from 35 to the end.
  1637. X
  1638. X    You can also get the patches via anonymous FTP from
  1639. X    jpl-devvax.jpl.nasa.gov (128.149.8.43).
  1640. X
  1641. XIndex: patchlevel.h
  1642. XPrereq: 4
  1643. X1c1
  1644. X< #define PATCHLEVEL 4
  1645. X---
  1646. X> #define PATCHLEVEL 5
  1647. XIndex: x2p/a2p.h
  1648. XPrereq: 1.0
  1649. X*** x2p/a2p.h.old    Tue Jan 26 09:53:22 1988
  1650. X--- x2p/a2p.h    Tue Jan 26 09:53:22 1988
  1651. X***************
  1652. X*** 1,10 ****
  1653. X! /* $Header: a2p.h,v 1.0 87/12/18 13:06:58 root Exp $
  1654. X   *
  1655. X   * $Log:    a2p.h,v $
  1656. X   * Revision 1.0  87/12/18  13:06:58  root
  1657. X   * Initial revision
  1658. X   * 
  1659. X   */
  1660. X  
  1661. X  #include "handy.h"
  1662. X  #define Nullop 0
  1663. X--- 1,21 ----
  1664. X! /* $Header: a2p.h,v 1.0.1.1 88/01/26 09:52:30 root Exp $
  1665. X   *
  1666. X   * $Log:    a2p.h,v $
  1667. X+  * Revision 1.0.1.1  88/01/26  09:52:30  root
  1668. X+  * patch 5: a2p didn't use config.h.
  1669. X+  * 
  1670. X   * Revision 1.0  87/12/18  13:06:58  root
  1671. X   * Initial revision
  1672. X   * 
  1673. X   */
  1674. X+ 
  1675. X+ #define VOIDUSED 1
  1676. X+ #include "../config.h"
  1677. X+ 
  1678. X+ #ifndef BCOPY
  1679. X+ #   define bcopy(s1,s2,l) memcpy(s2,s1,l);
  1680. X+ #   define bzero(s,l) memset(s,0,l);
  1681. X+ #endif
  1682. X  
  1683. X  #include "handy.h"
  1684. X  #define Nullop 0
  1685. END_OF_FILE
  1686. if test 2834 -ne `wc -c <'patch5'`; then
  1687.     echo shar: \"'patch5'\" unpacked with wrong size!
  1688. fi
  1689. # end of 'patch5'
  1690. fi
  1691. echo shar: End of shell archive.
  1692. exit 0
  1693. -- 
  1694. For comp.sources.unix stuff, mail to sources@uunet.uu.net.
  1695.