home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume38 / procmail / part01 < prev    next >
Encoding:
Text File  |  1993-07-04  |  38.9 KB  |  1,071 lines

  1. Newsgroups: comp.sources.misc
  2. From: berg@pool.informatik.rwth-aachen.de (Stephen R. van den Berg)
  3. Subject: v38i020:  procmail - mail processing package v2.90, Part01/11
  4. Message-ID: <1993Jul1.150616.20352@sparky.imd.sterling.com>
  5. X-Md4-Signature: b0dbd06c6730b7fb715c16e67e3010d9
  6. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Thu, 1 Jul 1993 15:06:16 GMT
  9. Approved: kent@sparky.imd.sterling.com
  10.  
  11. Submitted-by: berg@pool.informatik.rwth-aachen.de (Stephen R. van den Berg)
  12. Posting-number: Volume 38, Issue 20
  13. Archive-name: procmail/part01
  14. Environment: sendmail, smail, MMDF, mailsurr, UNIX, POSIX
  15. Supersedes: procmail: Volume 35, Issue 21-32,124,125
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 1 (of 11)."
  24. # Contents:  procmail procmail/HISTORY procmail/README
  25. #   procmail/examples procmail/examples/1rmail
  26. #   procmail/examples/2rmail procmail/examples/dirname
  27. #   procmail/mailinglist procmail/mailinglist/bin
  28. #   procmail/mailinglist/bin/arch_trunc procmail/mailinglist/etc
  29. #   procmail/mailinglist/etc/subscribe.txt
  30. #   procmail/mailinglist/install.sh2 procmail/man
  31. #   procmail/man/Makefile procmail/man/Makefile.0 procmail/man/README
  32. #   procmail/patchlevel.h procmail/src procmail/src/Makefile
  33. #   procmail/src/common.h procmail/src/cstdio.h procmail/src/ecommon.c
  34. #   procmail/src/ecommon.h procmail/src/fields.h
  35. #   procmail/src/goodies.h procmail/src/locking.h
  36. #   procmail/src/network.h procmail/src/robust.h procmail/src/shell.h
  37. #   procmail/src/sublib.h
  38. # Wrapped by berg@tubastos on Thu Jul  1 14:06:14 1993
  39. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  40. if test ! -d 'procmail' ; then
  41.     echo shar: Creating directory \"'procmail'\"
  42.     mkdir 'procmail'
  43. fi
  44. if test -f 'procmail/HISTORY' -a "${1}" != "-c" ; then 
  45.   echo shar: Will not clobber existing file \"'procmail/HISTORY'\"
  46. else
  47. echo shar: Extracting \"'procmail/HISTORY'\" \(10828 characters\)
  48. sed "s/^X//" >'procmail/HISTORY' <<'END_OF_FILE'
  49. X    Only the last entry is complete, the others might have been condensed.
  50. X
  51. X1990/12/07: v1.00
  52. X1990/12/12: v1.01
  53. X1991/02/04: v1.02
  54. X1991/02/13: v1.10
  55. X1991/02/21: v1.20
  56. X1991/02/22: v1.21
  57. X1991/03/01: v1.30
  58. X1991/03/15: v1.35
  59. X        Started using RCS to manage the source
  60. X1991/06/04: v1.99
  61. X1991/06/10: v2.00
  62. X1991/06/11: v2.01
  63. X1991/06/12: v2.02
  64. X1991/06/20: v2.03
  65. X1991/07/04: v2.10
  66. X1991/07/12: v2.11
  67. X1991/10/02: v2.20 (never released)
  68. X1991/10/18: v2.30
  69. X        Implemented a custom regular expression library (fully egrep
  70. X           compatible), should eliminate the annoyances with incompatible
  71. X           egreps
  72. X        Reached the doubtful milestone of having a source file (regexp.c)
  73. X           which provokes a compiler error on an old compiler
  74. X           (if using the optimiser)
  75. X1991/10/22: v2.31
  76. X1991/12/05: v2.40
  77. X        Made procmail capable of healing the recipient's mail spool file
  78. X        Tricked NFS into supplying an access_time<modification_time for the
  79. X           folders written
  80. X1991/12/13: v2.50
  81. X1992/01/22: v2.60
  82. X1992/01/31: v2.61
  83. X1992/04/30: v2.70
  84. X        Made procmail & lockfile clock skew independent (important during
  85. X           LOCKTIMEOUT)
  86. X        Made special entries in config.h for semi-permanent environment-
  87. X           variable overrides
  88. X1992/07/01: v2.71
  89. X        Now throwing away all environment variables starting with LD_
  90. X           (not just LD_LIBRARY_PATH), but only on those machines that
  91. X           have the security hole (i.e. SunOS)
  92. X        Gave procmail, formail, lockfile and mailstat a more verbose
  93. X           command line help (called up by -h or -?)
  94. X1993/02/04: v2.80
  95. X        Started using CVS to manage the source (god's gift to programmers)
  96. X        Substantially changed the examples/advanced mailer integration
  97. X           instructions (especially for smail)
  98. X        Enhanced lockfile a lot:
  99. X           - the -r option really specifies *re*tries now
  100. X           - concatenated and/or seperate options are allowed now
  101. X           - fixed an inconsistency with removing lockfiles by force
  102. X           - lockfile is more intelligent about locks which are impossible
  103. X         to acquire (it sees it now and displays an appropriate error
  104. X         message)
  105. X           - related to this, lockfile now can return a whole range of
  106. X         standard exitcodes to describe the error
  107. X           - dropped the suid support for lockfile, sgid support however
  108. X         was consolidated (with more descriptive error messages)
  109. X        Changes to formail:
  110. X           - formail does *NOT* CONCATENATE continued header-fields by
  111. X         default now anymore, specify the -c option for this
  112. X           - fixed the sender-determination-code, v2.71 didn't comply
  113. X         with RFC-822 on some points
  114. X           - the sender-determination-code now minimises the mailaddress
  115. X           - taught formail about some more headers, previously formail
  116. X         would refuse to split some mail-articles because it didn't
  117. X         recognise the second field
  118. X           - made it strip the <> on generated mail addresses
  119. X           - reorganised the known header-fields into the header.h file
  120. X         (to allow convenient additions)
  121. X           - introduced the -l option, for generating procmail-alike
  122. X         summaries
  123. X           - introduced the -R option for renaming header-fields
  124. X           - taught it about the Resent- fields when looking for a reply
  125. X         address
  126. X           - made sure that it does not generate an extra empty line at
  127. X         the end of a mail with no body
  128. X           - fixed the '-nnn' option, somehow this got broken
  129. X           - added the -X option for extracting complete fields (to make
  130. X         the toolset complete)
  131. X           - defined away one const, for buggy Convex "ANSI" C compilers
  132. X        Changes to procmail:
  133. X           - procmail does *NOT* CONCATENATE continued header-fields
  134. X         anymore, filter through "formail -c" for this
  135. X           - procmail only escapes bogus From_ lines now when writing a
  136. X         regular mailfolder (otherwise it's unchanged)
  137. X           - changed the method for turning on extended diagnostics, the
  138. X         preceding colon is not supported anymore, use VERBOSE=on
  139. X           - worked over the mailbox-healing code, some changes were
  140. X         needed to ensure complete functionality when the system
  141. X         mailbox is in the user's home directory
  142. X           - taught procmail about $? (see sh(1))
  143. X           - added the INCLUDERC keyword, to permit unlimited nesting
  144. X         of included rcfiles
  145. X           - any program started in backquotes by procmail now has the
  146. X         complete mail on its stdin
  147. X           - all diagnostics logged by procmail will now be preceded by
  148. X         a "procmail: " for easy identification
  149. X           - as long as no LOGFILE has been specified, all diagnostics
  150. X         will be mailed back to the sender (instead of /dev/null)
  151. X           - when a program is specified on an action line, you can
  152. X         precede the line by an environment variable name and an
  153. X         equal sign;  this will read in the (unlimited length) text
  154. X         from stdout into this variable
  155. X           - backslash-newline pairs on continued program-action lines
  156. X         will be simply passed on now;    unless the backslash-newline
  157. X         pair is on an otherwise empty line, in which case only the
  158. X         newline remains
  159. X           - comsat/biff is fully supported now
  160. X           - added the TRAP keyword, to allow for temporary file cleanup
  161. X           - in explicit delivery mode, unknown users are now rejected
  162. X           - system mailboxes with their suid or sgid bits set will not
  163. X         be delivered to anymore, they are presumed to contain SysV
  164. X         autoforwarding information
  165. X           - a condition line of a recipe can now start with '?' in order
  166. X         to use the exitcode of a program as true or false
  167. X           - the ^TO and ^FROM_DAEMON special keywords can now be used
  168. X         anywhere in the regular expression (^TO has been extended
  169. X         as well)
  170. X           - taught the ^^ special token to the internal egrep
  171. X           - more than doubled the speed of the builtin regexp library
  172. X         (which was already fast :-)
  173. X           - procmail uses and defines LOGNAME instead of USER
  174. X        Changes to the installation scripts:
  175. X           - preset values for $(MAKE), $(CC) and $(SHELL) are respected
  176. X         in Makefiles now
  177. X           - a POSIX conforming grep is recognised and used
  178. X           - the need for any -D_POSIX_SOURCE is recognised automatically
  179. X           - to make sure that all this is possible, the Makefiles are
  180. X         created in a two step-process now (make init)
  181. X           - missing libraries for network/socket and opendir support
  182. X         are searched for (you won't believe what names people picked
  183. X         for network support libraries, not in your wildest dreams :-)
  184. X           - the autoconf script now performs a reliability test on kernel
  185. X         locking support
  186. X           - also, network support for comsat tries to build up a compile
  187. X         time cache for trivial get*byname() calls
  188. X           - reached the doubtful milestone of consistently crashing the
  189. X         kernel on a Convex by running the locktst program
  190. X1993/02/19: v2.81
  191. X        Fixed a major inconvenience when generating the Makefiles in
  192. X           initmake
  193. X        Loosened the formats accepted for (un)subscription requests (some
  194. X           got rejected, but were valid)
  195. X        Redirected archive requests away from the regular list address
  196. X        Sharpened the FROM_MAIL_DAEMON detection
  197. X        Flist, idhash and multigram now use the correct name on error
  198. X           reports
  199. X        Sped up multigram on duplicate names (also eliminates duplicates
  200. X           in the best-matches list)
  201. X        The locking tests in the autoconf scripts seemed to hang on
  202. X           certain machines, I think I fixed that now
  203. X        Procmail now uses saved-gids if available (allows for system-
  204. X           mailbox locking from within an rcfile on systems that did not
  205. X           have world-writeable /usr/mail directories)
  206. X        Procmail ignores locallockfiles if the file that has to be locked
  207. X           turns out to be /dev/null
  208. X        Added a paragraph to the mailinglist/Manual (explaining multigram
  209. X           and threshold values)
  210. X1993/06/02: v2.82 (never really released, was only available as prerelease 4)
  211. X        Fixed sleeptime argument to lockfile
  212. X        Refined the ^FROM_DAEMON macro again
  213. X        Added a ^FROM_MAILER macro
  214. X        Fixed the library conflict with openlog
  215. X        Removed the dependencies on the structure of /usr/include
  216. X        Removed the dependencies on the structure of /lib, /usr/lib etc.
  217. X        Enhanced autoconf to ask for LOCKINGTEST directories
  218. X        Added an extra paragraph to INSTALL explaining the necessity of
  219. X           the LOCKINGTESTs
  220. X        Made the internal egrep in procmail warn about mismatching parens
  221. X           in a regexp
  222. X        Made the regexp lib faster again (worst case performance improved)
  223. X        Split up the manpage auto-generated sed scripts, some seds cannot
  224. X           process scripts with more than 100 commands
  225. X        Changed manpage substitions tokens to use @*@ instead of +*+
  226. X        Added example recipe for emacs users in the procmailex man page
  227. X        Extended recommend.c, it advises changing the permissions on
  228. X           the system mail spool directory as well now (if needed)
  229. X        Procmail can now deliver to multiple directories (using hardlinks)
  230. X        If the umask permits o+x, this bit will be set on any mailbox
  231. X           procmail delivers to directly
  232. X        Added the LASTFOLDER & LOGABSTRACT variables to procmail in order
  233. X           to ease the generation of custom logfile abstracts/summaries
  234. X        Programs started from within TRAP can read the mail from stdin
  235. X        Worked my way around the !@#$%^&*() POSIX setgid() semantics (if
  236. X           your OS supports setrgid() or setregid())
  237. X        Using off_t now (I seem to have overlooked it in my POSIX docs)
  238. X        Eliminated all uses of "expr match"
  239. X        Altered mailstat to work on really broken shells
  240. X        Extended the FAQ
  241. X        Changes to the mailinglist scripts:
  242. X           - Finetuned some scripts
  243. X           - Added digested lists
  244. X           - Added standalone archive servers
  245. X           - Extended logging for administrivia requests
  246. X           - Flist can and should be setuid root now, POSIX setuid
  247. X         semantics require it <sigh>
  248. X           - Added support for multiple architectures
  249. X           - Updated and extended the Manual file (reading recommended)
  250. X           - Added the showlink convenience utility
  251. X           - Added support for non-sendmail compatible mailers
  252. X1993/07/01: v2.90
  253. X        Condition lines in recipes can now be started with a leading `*',
  254. X           there is no longer a need to count condition lines, simply
  255. X           set the number to zero, and let procmail find out by itself
  256. X        Added the -a and -m options to procmail, for enhanced interfacing
  257. X           to sendmail
  258. X        Updated the recommended sendmail.cf mailer entry docs in
  259. X           examples/advanced
  260. X        Fixed a race condition when the recipient mailbox did not exist
  261. X           and two procmails simultaneously tried to create it
  262. X        Cleaned up main() in procmail.c (localised variables)
  263. X        Made sure the logfile was flushed before procmail exits
  264. X        When procmail gobbles up the leading From_ line, it reads in 2KB
  265. X           blocks now (instead of character wise; saves a few system calls)
  266. END_OF_FILE
  267. if test 10828 -ne `wc -c <'procmail/HISTORY'`; then
  268.     echo shar: \"'procmail/HISTORY'\" unpacked with wrong size!
  269. fi
  270. # end of 'procmail/HISTORY'
  271. fi
  272. if test -f 'procmail/README' -a "${1}" != "-c" ; then 
  273.   echo shar: Will not clobber existing file \"'procmail/README'\"
  274. else
  275. echo shar: Extracting \"'procmail/README'\" \(4984 characters\)
  276. sed "s/^X//" >'procmail/README' <<'END_OF_FILE'
  277. XFor installation instructions see the INSTALL file.
  278. X----------------------
  279. XProcmail & formail mail processing package.
  280. XCopyright (c) 1990-1993, S.R. van den Berg, The Netherlands.
  281. X
  282. XSome legal stuff:
  283. X
  284. XUse this software package at your own risk.  The programmer cannot
  285. Xbe held liable for any incurred damages, directly or indirectly due to
  286. Xthe use or inability to use this software.
  287. X
  288. XYou are encouraged to distribute this package freely.  This package is
  289. Xhowever not to be sold (minor transfer costs excepted) or included in
  290. Xany commercially sold software package (if you want to do this anyway,
  291. Xcontact me (address below), and we'll work something out).
  292. X
  293. XIf you distribute it, please leave the package intact.    You are allowed to
  294. Xtake parts from this distribution and distribute these separately as long
  295. Xas you retain the copyright messages.  If you redistribute any part of this
  296. Xpackage in a modified form, be sure to mark the parts you changed.
  297. XIf you have some important changes that might be useful to the rest of the
  298. Xworld, contact me instead.
  299. X
  300. X-------------------------- SYSTEM REQUIREMENTS -------------------------------
  301. X
  302. XAny *NIX-alike system.
  303. X
  304. XSendmail, smail, MMDF, mailsurr or compatible mailers (in effect any mailer
  305. Xthat can process RFC-822 compliant mails).
  306. X
  307. XThe most important system calls that need to be supported (among others):
  308. Xdup(),wait(),getpwnam(),fork(),pipe()
  309. X
  310. XFor a more complete list of all library references see "src/includes.h"
  311. X
  312. X------------------------------ DESCRIPTION -----------------------------------
  313. X
  314. XThe procmail mail processing program. (v2.90 1993/07/01)
  315. X
  316. XCan be used to create mail-servers, mailing lists, sort your incoming mail
  317. Xinto separate folders/files (real convenient when subscribing to one or more
  318. Xmailing lists or for prioritising your mail), preprocess your mail, start
  319. Xany programs upon mail arrival (e.g. to generate different chimes on your
  320. Xworkstation for different types of mail) or selectively forward certain
  321. Xincoming mail automatically to someone.
  322. X
  323. XThe accompanying formail program enables you to generate autoreplies, split up
  324. Xdigests/mailboxes into the original messages, do some very simple
  325. Xheader-munging/extraction, or force mail into mail-format (with leading From
  326. Xline).
  327. X
  328. XAlso included is a comprehensive mailinglist/archive management system.
  329. X
  330. X----------------------
  331. X
  332. XI made the utmost effort to make procmail as robust as any program can be
  333. X(every conceivable system error is caught *and* handled).
  334. X
  335. XProcmail was designed to deliver the mail under the worst conditions
  336. X(file system full, out of swap space, process table full, file table full,
  337. Xmissing support files, unavailable executables; it all doesn't matter).
  338. XShould (in the unlikely event) procmail be unable to deliver your mail
  339. Xsomewhere, the mail will bounce back to the sender or reenter the mailqueue
  340. X(your choice).
  341. X
  342. XFor a more extensive list of features see the FEATURES file.
  343. X
  344. X----------------------
  345. X
  346. XHowever, as with any program, bugs cannot be completely ruled out.
  347. XI tested the program extensively, and believe it should be relatively
  348. Xbug free (no known bug at the time).  Should, however, anyone find any
  349. Xbugs (highly unlikely :-), I would be pleased (well, sort of :-) to hear
  350. Xabout it.  Please send me the patches or bug report.
  351. XI'll look at them and will try to fix it in a future release.
  352. X(BTW, if you should find any spelling or grammar errors in these files,
  353. Xdon't hesitate to point them out to me; I like correct English just as much
  354. Xas you do).
  355. X
  356. X----------------------
  357. X
  358. XI would like to take the opportunity to express my gratitude in particular
  359. Xto these devoted users of the procmail-package.     Without their constant
  360. Xfeedback procmail would not have looked the same:
  361. X
  362. X    David W. Tamkin        An excellent proofreader and betatester
  363. X     <dattier@gagme.chi.il.us>
  364. X    Josh Laff        For stresstesting procmail (and me :-)
  365. X     <jal@uiuc.edu>
  366. X    Dan Jacobson        For his many useful suggestions
  367. X     <Dan_Jacobson@ATT.COM>
  368. X    Rick Troxel        Because I crashed his Convex way too often :-)
  369. X     <rick@helix.nih.gov>
  370. X
  371. X----------------------
  372. X
  373. XPlease note that this program essentially is supposed to be static, that
  374. Xmeans no extra features (honouring the VNIX spirit) are supposed to be
  375. Xadded (though any useful suggestions will be appreciated and evaluated if
  376. Xtime permits).
  377. X
  378. XCheers,
  379. X       Stephen R. van den Berg    at RWTH-Aachen, Germany.
  380. X
  381. XInternet E-mail:        berg@pool.informatik.rwth-aachen.de
  382. X                berg@physik.tu-muenchen.de
  383. X
  384. XSnail-Mail:    P.O.Box 21074
  385. X        6369 ZG Simpelveld
  386. X        The Netherlands
  387. X
  388. XProcmail mailinglist:        procmail-request@informatik.rwth-aachen.de
  389. X
  390. X----------------------
  391. XA recent version can be picked up at various comp.sources.misc archives.
  392. XThe latest version can be obtained directly from the ftp-archive at:
  393. X
  394. X    ftp.informatik.rwth-aachen.de (137.226.112.172)
  395. X
  396. X    as zipped tar file:        pub/unix/procmail.tar.zip    <152KB
  397. X    as compressed tar file:        pub/unix/procmail.tar.Z        <216KB
  398. X    in compressed shar format:    pub/unix/procmail.??.Z          11 parts
  399. X----------------------
  400. END_OF_FILE
  401. if test 4984 -ne `wc -c <'procmail/README'`; then
  402.     echo shar: \"'procmail/README'\" unpacked with wrong size!
  403. fi
  404. # end of 'procmail/README'
  405. fi
  406. if test ! -d 'procmail/examples' ; then
  407.     echo shar: Creating directory \"'procmail/examples'\"
  408.     mkdir 'procmail/examples'
  409. fi
  410. if test -f 'procmail/examples/1rmail' -a "${1}" != "-c" ; then 
  411.   echo shar: Will not clobber existing file \"'procmail/examples/1rmail'\"
  412. else
  413. echo shar: Extracting \"'procmail/examples/1rmail'\" \(400 characters\)
  414. sed "s/^X//" >'procmail/examples/1rmail' <<'END_OF_FILE'
  415. X#!/bin/sh
  416. X#
  417. X# specify the mailbox file you want to read on the command line
  418. X#
  419. XMAILDIR=$HOME/Mail
  420. Xcd $MAILDIR
  421. XLOCKFILE=$HOME/.lockmail
  422. Xif lockfile -! -r1 $LOCKFILE
  423. Xthen
  424. X echo Mail is currently arriving, please wait...
  425. X while
  426. X   lockfile -! -4 -r2 $LOCKFILE
  427. X do
  428. X echo Mail is still arriving...
  429. X done
  430. Xfi
  431. Xtrap "rm -f $LOCKFILE;exit 0" 0 1 2 3 15
  432. X#
  433. X# Call you favourite mailer here.
  434. X#
  435. X/usr/ucb/mail -f $*
  436. END_OF_FILE
  437. if test 400 -ne `wc -c <'procmail/examples/1rmail'`; then
  438.     echo shar: \"'procmail/examples/1rmail'\" unpacked with wrong size!
  439. fi
  440. # end of 'procmail/examples/1rmail'
  441. fi
  442. if test -f 'procmail/examples/2rmail' -a "${1}" != "-c" ; then 
  443.   echo shar: Will not clobber existing file \"'procmail/examples/2rmail'\"
  444. else
  445. echo shar: Extracting \"'procmail/examples/2rmail'\" \(392 characters\)
  446. sed "s/^X//" >'procmail/examples/2rmail' <<'END_OF_FILE'
  447. X#!/bin/sh
  448. X#
  449. X# specify the mailbox file you want to read on the command line
  450. X#
  451. XMAILDIR=$HOME/Mail
  452. Xcd $MAILDIR
  453. XLOCKFILE=$1.lock
  454. Xif lockfile -! -r1 $LOCKFILE
  455. Xthen
  456. X echo Mail is currently arriving, please wait...
  457. X while
  458. X   lockfile -! -4 -r2 $LOCKFILE
  459. X do
  460. X echo Mail is still arriving...
  461. X done
  462. Xfi
  463. Xtrap "rm -f $LOCKFILE;exit 0" 0 1 2 3 15
  464. X#
  465. X# Call you favourite mailer here.
  466. X#
  467. X/usr/ucb/mail -f $*
  468. END_OF_FILE
  469. if test 392 -ne `wc -c <'procmail/examples/2rmail'`; then
  470.     echo shar: \"'procmail/examples/2rmail'\" unpacked with wrong size!
  471. fi
  472. # end of 'procmail/examples/2rmail'
  473. fi
  474. if test -f 'procmail/examples/dirname' -a "${1}" != "-c" ; then 
  475.   echo shar: Will not clobber existing file \"'procmail/examples/dirname'\"
  476. else
  477. echo shar: Extracting \"'procmail/examples/dirname'\" \(474 characters\)
  478. sed "s/^X//" >'procmail/examples/dirname' <<'END_OF_FILE'
  479. X#! /bin/sh
  480. X: &&O= || exec /bin/sh $0 $argv:q # we're in a csh, feed myself to sh
  481. X#########################################################################
  482. X#    dirname        A substitute, for the deprived            #
  483. X#                                    #
  484. X#    Created by S.R. van den Berg, The Netherlands            #
  485. X#########################################################################
  486. X#$Id: dirname,v 1.1 1993/06/23 12:55:40 berg Exp $
  487. X
  488. Xt=`expr "$1" : "\(.*/\)[^/]*$"`
  489. X
  490. Xif test -z "$t"
  491. Xthen
  492. X  echo .
  493. Xelse
  494. X  echo "$t"
  495. Xfi
  496. END_OF_FILE
  497. if test 474 -ne `wc -c <'procmail/examples/dirname'`; then
  498.     echo shar: \"'procmail/examples/dirname'\" unpacked with wrong size!
  499. fi
  500. chmod +x 'procmail/examples/dirname'
  501. # end of 'procmail/examples/dirname'
  502. fi
  503. if test ! -d 'procmail/mailinglist' ; then
  504.     echo shar: Creating directory \"'procmail/mailinglist'\"
  505.     mkdir 'procmail/mailinglist'
  506. fi
  507. if test ! -d 'procmail/mailinglist/bin' ; then
  508.     echo shar: Creating directory \"'procmail/mailinglist/bin'\"
  509.     mkdir 'procmail/mailinglist/bin'
  510. fi
  511. if test -f 'procmail/mailinglist/bin/arch_trunc' -a "${1}" != "-c" ; then 
  512.   echo shar: Will not clobber existing file \"'procmail/mailinglist/bin/arch_trunc'\"
  513. else
  514. echo shar: Extracting \"'procmail/mailinglist/bin/arch_trunc'\" \(440 characters\)
  515. sed "s/^X//" >'procmail/mailinglist/bin/arch_trunc' <<'END_OF_FILE'
  516. X#! /bin/sh
  517. X:
  518. X#$Id: arch_trunc,v 1.3 1993/03/02 14:40:37 berg Exp $
  519. X
  520. Xecho=echo        # /bin/echo
  521. Xls=ls            # /bin/ls
  522. Xsed=sed            # /bin/sed
  523. Xrm=rm            # /bin/rm
  524. X
  525. Xif cd archive && cd latest
  526. Xthen
  527. X  case "$1" in        # do not start removing every time, to decrease load
  528. X     *[248])
  529. X    $rm -f `$ls -t | $sed -e '1,'$archive_hist' d' -e '/[^0-9]/ d' ` ;;
  530. X  esac
  531. X
  532. X  $echo "$1"
  533. Xelse
  534. X  $echo "Don't start this script directly, it is used in rc.request"
  535. X  exit 64
  536. Xfi
  537. END_OF_FILE
  538. if test 440 -ne `wc -c <'procmail/mailinglist/bin/arch_trunc'`; then
  539.     echo shar: \"'procmail/mailinglist/bin/arch_trunc'\" unpacked with wrong size!
  540. fi
  541. chmod +x 'procmail/mailinglist/bin/arch_trunc'
  542. # end of 'procmail/mailinglist/bin/arch_trunc'
  543. fi
  544. if test ! -d 'procmail/mailinglist/etc' ; then
  545.     echo shar: Creating directory \"'procmail/mailinglist/etc'\"
  546.     mkdir 'procmail/mailinglist/etc'
  547. fi
  548. if test -f 'procmail/mailinglist/etc/subscribe.txt' -a "${1}" != "-c" ; then 
  549.   echo shar: Will not clobber existing file \"'procmail/mailinglist/etc/subscribe.txt'\"
  550. else
  551. echo shar: Extracting \"'procmail/mailinglist/etc/subscribe.txt'\" \(351 characters\)
  552. sed "s/^X//" >'procmail/mailinglist/etc/subscribe.txt' <<'END_OF_FILE'
  553. XThis is an automated subscription mechanism.  For your verification, a
  554. Xtranscript of the original subscription request is included below.
  555. X
  556. XIf the wrong address has been subscribed and you seem to be unable to fix it
  557. Xyourself, reply to this message now (quoting it entirely (for diagnostic
  558. Xpurposes), and of course adding any comments you see fit).
  559. X--
  560. END_OF_FILE
  561. if test 351 -ne `wc -c <'procmail/mailinglist/etc/subscribe.txt'`; then
  562.     echo shar: \"'procmail/mailinglist/etc/subscribe.txt'\" unpacked with wrong size!
  563. fi
  564. # end of 'procmail/mailinglist/etc/subscribe.txt'
  565. fi
  566. if test -f 'procmail/mailinglist/install.sh2' -a "${1}" != "-c" ; then 
  567.   echo shar: Will not clobber existing file \"'procmail/mailinglist/install.sh2'\"
  568. else
  569. echo shar: Extracting \"'procmail/mailinglist/install.sh2'\" \(488 characters\)
  570. sed "s/^X//" >'procmail/mailinglist/install.sh2' <<'END_OF_FILE'
  571. X#! /bin/sh
  572. X: &&O= || exec /bin/sh install.sh2 # we're in a csh, feed myself to sh
  573. X#$Id: install.sh2,v 1.1 1993/04/13 15:47:47 berg Exp $
  574. X
  575. Xtest -z "$bindir" && echo "Call install.sh instead" && exit 64
  576. X
  577. Xhfile=targetdir.h
  578. X
  579. Xcat >$hfile <<HERE
  580. X#define TARGETDIR    "$target"
  581. X#define LISTID        "$listid"
  582. X#define PROCMAIL    "../$bindir/procmail"
  583. X#define INIT_PATH    "PATH=../$bindir"
  584. XHERE
  585. X
  586. Xcmp $hfile ../src/$hfile 2>/dev/null 1>&2 || cp $hfile ../src/$hfile
  587. X
  588. Xcd ../src
  589. Xmake multigram
  590. Xcd ../mailinglist
  591. END_OF_FILE
  592. if test 488 -ne `wc -c <'procmail/mailinglist/install.sh2'`; then
  593.     echo shar: \"'procmail/mailinglist/install.sh2'\" unpacked with wrong size!
  594. fi
  595. chmod +x 'procmail/mailinglist/install.sh2'
  596. # end of 'procmail/mailinglist/install.sh2'
  597. fi
  598. if test ! -d 'procmail/man' ; then
  599.     echo shar: Creating directory \"'procmail/man'\"
  600.     mkdir 'procmail/man'
  601. fi
  602. if test -f 'procmail/man/Makefile' -a "${1}" != "-c" ; then 
  603.   echo shar: Will not clobber existing file \"'procmail/man/Makefile'\"
  604. else
  605. echo shar: Extracting \"'procmail/man/Makefile'\" \(320 characters\)
  606. sed "s/^X//" >'procmail/man/Makefile' <<'END_OF_FILE'
  607. X#$Id: Makefile,v 1.3 1992/11/11 13:58:08 berg Exp $
  608. X
  609. XHIDEMAKE=$(MAKE)
  610. X
  611. Xall: init
  612. X    $(HIDEMAKE) make $@
  613. X
  614. X# The only real thing that can be made right now is:
  615. X
  616. Xinit:
  617. X    cd ..; $(MAKE) make init
  618. X
  619. XMakefile makefile Makefiles makefiles: init
  620. X
  621. Xprocmail.1 procmailrc.5 procmailex.5 lockfile.1 formail.1: init
  622. X    $(HIDEMAKE) make $@
  623. END_OF_FILE
  624. if test 320 -ne `wc -c <'procmail/man/Makefile'`; then
  625.     echo shar: \"'procmail/man/Makefile'\" unpacked with wrong size!
  626. fi
  627. # end of 'procmail/man/Makefile'
  628. fi
  629. if test -f 'procmail/man/Makefile.0' -a "${1}" != "-c" ; then 
  630.   echo shar: Will not clobber existing file \"'procmail/man/Makefile.0'\"
  631. else
  632. echo shar: Extracting \"'procmail/man/Makefile.0'\" \(539 characters\)
  633. sed "s/^X//" >'procmail/man/Makefile.0' <<'END_OF_FILE'
  634. X
  635. X#$Id: Makefile.0,v 1.6 1993/04/13 15:48:19 berg Exp $
  636. X
  637. Xall: $(MANSS)
  638. X
  639. Xmake:
  640. X    @$(SHELL) -c "exit 0"
  641. X
  642. X../config.check:
  643. X    @cd ..; $(MAKE) config.check
  644. X
  645. Xman.sed: man_sed
  646. X
  647. Xman_sed:
  648. X    @cd ../src; $(MAKE) ../man/man.sed
  649. X
  650. Xclean:
  651. X    $(RM) $(MANSS) man.sed* _Makefile core
  652. X
  653. XMakefile: ../Makefile Makefile.0
  654. X    @echo "You have made changes to the master Makefile, in order for"
  655. X    @echo "these changes to show through, you will first have to do:"
  656. X    @echo "$(MAKE) makefiles"
  657. X
  658. Xmakefiles Makefiles makefile:
  659. X    cd ..; $(MAKE) makefiles
  660. X
  661. Xinit:
  662. X    cd ..; $(MAKE) $@
  663. END_OF_FILE
  664. if test 539 -ne `wc -c <'procmail/man/Makefile.0'`; then
  665.     echo shar: \"'procmail/man/Makefile.0'\" unpacked with wrong size!
  666. fi
  667. # end of 'procmail/man/Makefile.0'
  668. fi
  669. if test -f 'procmail/man/README' -a "${1}" != "-c" ; then 
  670.   echo shar: Will not clobber existing file \"'procmail/man/README'\"
  671. else
  672. echo shar: Extracting \"'procmail/man/README'\" \(428 characters\)
  673. sed "s/^X//" >'procmail/man/README' <<'END_OF_FILE'
  674. XPlease note that the *.man files in this directory still need to be converted
  675. Xinto their *.1 and *.5 counterparts.  You can convert them by typing "make" in
  676. Xthis directory or in the directory above.
  677. X
  678. XThe man pages *.1 and *.5 can then be displayed as readable plain text
  679. Xby typing something like this:
  680. X
  681. X    nroff -man procmail.1
  682. X
  683. Xor they can be moved to man directories in your MANPATH to be be viewed with
  684. Xthe normal man command.
  685. END_OF_FILE
  686. if test 428 -ne `wc -c <'procmail/man/README'`; then
  687.     echo shar: \"'procmail/man/README'\" unpacked with wrong size!
  688. fi
  689. # end of 'procmail/man/README'
  690. fi
  691. if test -f 'procmail/patchlevel.h' -a "${1}" != "-c" ; then 
  692.   echo shar: Will not clobber existing file \"'procmail/patchlevel.h'\"
  693. else
  694. echo shar: Extracting \"'procmail/patchlevel.h'\" \(429 characters\)
  695. sed "s/^X//" >'procmail/patchlevel.h' <<'END_OF_FILE'
  696. X#define VERSION "\
  697. Xprocmail v2.90 1993/07/01 written and created by Stephen R. van den Berg\n\
  698. X\t\t\t\tberg@pool.informatik.rwth-aachen.de\n\
  699. X\t\t\t\tberg@physik.tu-muenchen.de\n\
  700. X\n\
  701. XSubmit questions/answers to the procmail-related mailinglist by sending to:\n\
  702. X\tprocmail@informatik.rwth-aachen.de\n\
  703. X\n\
  704. XAnd of course, subscription and information requests for this list to:\n\
  705. X\tprocmail-request@informatik.rwth-aachen.de\n"
  706. END_OF_FILE
  707. if test 429 -ne `wc -c <'procmail/patchlevel.h'`; then
  708.     echo shar: \"'procmail/patchlevel.h'\" unpacked with wrong size!
  709. fi
  710. # end of 'procmail/patchlevel.h'
  711. fi
  712. if test ! -d 'procmail/src' ; then
  713.     echo shar: Creating directory \"'procmail/src'\"
  714.     mkdir 'procmail/src'
  715. fi
  716. if test -f 'procmail/src/Makefile' -a "${1}" != "-c" ; then 
  717.   echo shar: Will not clobber existing file \"'procmail/src/Makefile'\"
  718. else
  719. echo shar: Extracting \"'procmail/src/Makefile'\" \(322 characters\)
  720. sed "s/^X//" >'procmail/src/Makefile' <<'END_OF_FILE'
  721. X#$Id: Makefile,v 1.3 1992/11/11 13:58:39 berg Exp $
  722. X
  723. XHIDEMAKE=$(MAKE)
  724. X
  725. Xall: init
  726. X    $(HIDEMAKE) make $@
  727. X
  728. X# The only real thing that can be made right now is:
  729. X
  730. Xinit:
  731. X    cd ..; $(MAKE) make init
  732. X
  733. XMakefile makefile Makefiles makefiles: init
  734. X
  735. Xprocmail lockfile formail mailstat ../autoconf.h autoconf.h: init
  736. X    $(HIDEMAKE) make $@
  737. END_OF_FILE
  738. if test 322 -ne `wc -c <'procmail/src/Makefile'`; then
  739.     echo shar: \"'procmail/src/Makefile'\" unpacked with wrong size!
  740. fi
  741. # end of 'procmail/src/Makefile'
  742. fi
  743. if test -f 'procmail/src/common.h' -a "${1}" != "-c" ; then 
  744.   echo shar: Will not clobber existing file \"'procmail/src/common.h'\"
  745. else
  746. echo shar: Extracting \"'procmail/src/common.h'\" \(462 characters\)
  747. sed "s/^X//" >'procmail/src/common.h' <<'END_OF_FILE'
  748. X/*$Id: common.h,v 1.5 1992/11/11 13:58:54 berg Exp $*/
  749. X
  750. Xvoid
  751. X shexec P((const char*const*argv)),
  752. X detab P((char*p)),
  753. X ultstr P((int minwidth,unsigned long val,char*dest));
  754. Xchar*
  755. X pstrspn P((const char*whole,const char*const sub));
  756. Xint
  757. X strnIcmp P((const char*a,const char*b,size_t l));
  758. X
  759. X#ifdef NOstrcspn
  760. Xint
  761. X strcspn P((const char*const whole,const char*const sub));
  762. X#endif
  763. X
  764. X#define LENoffset    (TABWIDTH*LENtSTOP)
  765. X#define MAXfoldlen    (LENoffset-STRLEN(sfolder)-1)
  766. END_OF_FILE
  767. if test 462 -ne `wc -c <'procmail/src/common.h'`; then
  768.     echo shar: \"'procmail/src/common.h'\" unpacked with wrong size!
  769. fi
  770. # end of 'procmail/src/common.h'
  771. fi
  772. if test -f 'procmail/src/cstdio.h' -a "${1}" != "-c" ; then 
  773.   echo shar: Will not clobber existing file \"'procmail/src/cstdio.h'\"
  774. else
  775. echo shar: Extracting \"'procmail/src/cstdio.h'\" \(322 characters\)
  776. sed "s/^X//" >'procmail/src/cstdio.h' <<'END_OF_FILE'
  777. X/*$Id: cstdio.h,v 1.5 1992/11/24 15:59:58 berg Exp $*/
  778. X
  779. Xvoid
  780. X pushrc P((const char*const name)),
  781. X closerc P((void)),
  782. X ungetb P((const x)),
  783. X getlline P((char*target));
  784. Xint
  785. X poprc P((void)),
  786. X bopen P((const char*const name)),
  787. X getbl P((char*p)),
  788. X getb P((void)),
  789. X testb P((const x)),
  790. X sgetc P((void)),
  791. X skipspace P((void));
  792. END_OF_FILE
  793. if test 322 -ne `wc -c <'procmail/src/cstdio.h'`; then
  794.     echo shar: \"'procmail/src/cstdio.h'\" unpacked with wrong size!
  795. fi
  796. # end of 'procmail/src/cstdio.h'
  797. fi
  798. if test -f 'procmail/src/ecommon.c' -a "${1}" != "-c" ; then 
  799.   echo shar: Will not clobber existing file \"'procmail/src/ecommon.c'\"
  800. else
  801. echo shar: Extracting \"'procmail/src/ecommon.c'\" \(449 characters\)
  802. sed "s/^X//" >'procmail/src/ecommon.c' <<'END_OF_FILE'
  803. X#include "includes.h"
  804. X#include "ecommon.h"
  805. X#include "common.h"
  806. X
  807. Xvoid
  808. X nlog P((const char*const a));
  809. X
  810. Xstatic const char outofmem[]="Out of memory\n";
  811. X
  812. Xvoid*tmalloc(len)const size_t len;
  813. X{ void*p;
  814. X  if(p=malloc(len))
  815. X     return p;
  816. X  nlog(outofmem);exit(EX_OSERR);
  817. X}
  818. X
  819. Xvoid*trealloc(old,len)void*old;const size_t len;
  820. X{ if(old=realloc(old,len))
  821. X     return old;
  822. X  nlog(outofmem);exit(EX_OSERR);
  823. X}
  824. X
  825. Xvoid tfree(a)void*a;
  826. X{ free(a);
  827. X}
  828. X
  829. X#include "shell.h"
  830. END_OF_FILE
  831. if test 449 -ne `wc -c <'procmail/src/ecommon.c'`; then
  832.     echo shar: \"'procmail/src/ecommon.c'\" unpacked with wrong size!
  833. fi
  834. # end of 'procmail/src/ecommon.c'
  835. fi
  836. if test -f 'procmail/src/ecommon.h' -a "${1}" != "-c" ; then 
  837.   echo shar: Will not clobber existing file \"'procmail/src/ecommon.h'\"
  838. else
  839. echo shar: Extracting \"'procmail/src/ecommon.h'\" \(158 characters\)
  840. sed "s/^X//" >'procmail/src/ecommon.h' <<'END_OF_FILE'
  841. X/*$Id: ecommon.h,v 1.3 1993/01/22 13:42:24 berg Exp $*/
  842. X
  843. Xvoid
  844. X *tmalloc Q((const size_t len)),
  845. X *trealloc Q((void*old,const size_t len)),
  846. X tfree P((void*a));
  847. END_OF_FILE
  848. if test 158 -ne `wc -c <'procmail/src/ecommon.h'`; then
  849.     echo shar: \"'procmail/src/ecommon.h'\" unpacked with wrong size!
  850. fi
  851. # end of 'procmail/src/ecommon.h'
  852. fi
  853. if test -f 'procmail/src/fields.h' -a "${1}" != "-c" ; then 
  854.   echo shar: Will not clobber existing file \"'procmail/src/fields.h'\"
  855. else
  856. echo shar: Extracting \"'procmail/src/fields.h'\" \(496 characters\)
  857. sed "s/^X//" >'procmail/src/fields.h' <<'END_OF_FILE'
  858. X/*$Id: fields.h,v 1.4 1993/04/27 17:33:57 berg Exp $*/
  859. X
  860. Xstruct field
  861. X *findf P((const struct field*const p,const struct field*hdr)),
  862. X **addfield Q((struct field**pointer,const char*const text,
  863. X  const size_t totlen));
  864. Xvoid
  865. X concatenate P((struct field*const fldp)),
  866. X renfield Q((struct field**const pointer,const size_t oldl,
  867. X  const char*const newname,const size_t newl)),
  868. X flushfield P((struct field**pointer)),
  869. X dispfield P((const struct field*p)),
  870. X addbuf P((void));
  871. Xint
  872. X readhead P((void));
  873. END_OF_FILE
  874. if test 496 -ne `wc -c <'procmail/src/fields.h'`; then
  875.     echo shar: \"'procmail/src/fields.h'\" unpacked with wrong size!
  876. fi
  877. # end of 'procmail/src/fields.h'
  878. fi
  879. if test -f 'procmail/src/goodies.h' -a "${1}" != "-c" ; then 
  880.   echo shar: Will not clobber existing file \"'procmail/src/goodies.h'\"
  881. else
  882. echo shar: Extracting \"'procmail/src/goodies.h'\" \(386 characters\)
  883. sed "s/^X//" >'procmail/src/goodies.h' <<'END_OF_FILE'
  884. X/*$Id: goodies.h,v 1.8 1993/06/21 14:24:20 berg Exp $*/
  885. X
  886. Xvoid
  887. X readparse P((char*p,int(*const fpgetc)(),const sarg)),
  888. X sputenv P((const char*const a)),
  889. X primeStdout P((void)),
  890. X retStdout P((char*const newmyenv)),
  891. X postStdout P((void));
  892. Xint
  893. X waitfor Q((const pid_t pid));
  894. X
  895. Xextern long Stdfilled;
  896. X#ifndef GOT_bin_test
  897. Xextern const char test[];
  898. X#endif
  899. X
  900. Xextern const char*Tmnate,*All_args;
  901. END_OF_FILE
  902. if test 386 -ne `wc -c <'procmail/src/goodies.h'`; then
  903.     echo shar: \"'procmail/src/goodies.h'\" unpacked with wrong size!
  904. fi
  905. # end of 'procmail/src/goodies.h'
  906. fi
  907. if test -f 'procmail/src/locking.h' -a "${1}" != "-c" ; then 
  908.   echo shar: Will not clobber existing file \"'procmail/src/locking.h'\"
  909. else
  910. echo shar: Extracting \"'procmail/src/locking.h'\" \(434 characters\)
  911. sed "s/^X//" >'procmail/src/locking.h' <<'END_OF_FILE'
  912. X/*$Id: locking.h,v 1.4 1993/06/21 14:24:32 berg Exp $*/
  913. X
  914. Xvoid
  915. X lockit P((char*name,char**const lockp)),
  916. X lcllock P((void)),
  917. X unlock P((char**const lockp));
  918. Xint
  919. X xcreat Q((const char*const name,const mode_t mode,time_t*const tim,
  920. X  const chownit));
  921. X
  922. X#ifdef NOfcntl_lock
  923. X#ifndef USElockf
  924. X#ifndef USEflock
  925. X#define fdlock(fd)    0
  926. X#define fdunlock()    0
  927. X#endif
  928. X#endif
  929. X#endif
  930. X#ifndef fdlock
  931. Xint
  932. X fdlock P((int fd)),
  933. X fdunlock P((void));
  934. X#endif
  935. END_OF_FILE
  936. if test 434 -ne `wc -c <'procmail/src/locking.h'`; then
  937.     echo shar: \"'procmail/src/locking.h'\" unpacked with wrong size!
  938. fi
  939. # end of 'procmail/src/locking.h'
  940. fi
  941. if test -f 'procmail/src/network.h' -a "${1}" != "-c" ; then 
  942.   echo shar: Will not clobber existing file \"'procmail/src/network.h'\"
  943. else
  944. echo shar: Extracting \"'procmail/src/network.h'\" \(447 characters\)
  945. sed "s/^X//" >'procmail/src/network.h' <<'END_OF_FILE'
  946. X/*$Id: network.h,v 1.5 1993/01/28 14:22:17 berg Exp $*/
  947. X
  948. X#include <sys/socket.h>            /* socket() sendto() AF_INET
  949. X                    /* SOCK_DGRAM */
  950. X#include <netdb.h>            /* gethostbyname() getservbyname()
  951. X                    /* getprotobyname() */
  952. X#include <netinet/in.h>            /* htons() struct sockaddr_in */
  953. X
  954. X#ifndef BIFF_serviceport
  955. X#define BIFF_serviceport    COMSATservice
  956. X#endif
  957. X
  958. X#ifndef h_0addr_list
  959. X#define h_0addr_list    h_addr_list[0]              /* POSIX struct member */
  960. X#endif
  961. END_OF_FILE
  962. if test 447 -ne `wc -c <'procmail/src/network.h'`; then
  963.     echo shar: \"'procmail/src/network.h'\" unpacked with wrong size!
  964. fi
  965. # end of 'procmail/src/network.h'
  966. fi
  967. if test -f 'procmail/src/robust.h' -a "${1}" != "-c" ; then 
  968.   echo shar: Will not clobber existing file \"'procmail/src/robust.h'\"
  969. else
  970. echo shar: Extracting \"'procmail/src/robust.h'\" \(486 characters\)
  971. sed "s/^X//" >'procmail/src/robust.h' <<'END_OF_FILE'
  972. X/*$Id: robust.h,v 1.5 1993/03/05 14:40:27 berg Exp $*/
  973. X
  974. Xvoid
  975. X *tmalloc Q((const size_t len)),
  976. X *trealloc Q((void*const old,const size_t len)),
  977. X tfree P((void*const p)),
  978. X opnlog P((const char*file));
  979. Xpid_t
  980. X sfork P((void));
  981. Xint
  982. X opena P((const char*const a)),
  983. X ropen Q((const char*const name,const mode,const mode_t mask)),
  984. X rpipe P((int fd[2])),
  985. X rdup P((const p)),
  986. X rclose P((const fd)),
  987. X rread P((const fd,void*const a,const len)),
  988. X rwrite P((const fd,const void*const a,const len));
  989. END_OF_FILE
  990. if test 486 -ne `wc -c <'procmail/src/robust.h'`; then
  991.     echo shar: \"'procmail/src/robust.h'\" unpacked with wrong size!
  992. fi
  993. # end of 'procmail/src/robust.h'
  994. fi
  995. if test -f 'procmail/src/shell.h' -a "${1}" != "-c" ; then 
  996.   echo shar: Will not clobber existing file \"'procmail/src/shell.h'\"
  997. else
  998. echo shar: Extracting \"'procmail/src/shell.h'\" \(249 characters\)
  999. sed "s/^X//" >'procmail/src/shell.h' <<'END_OF_FILE'
  1000. X/*$Id: shell.h,v 1.4 1993/06/14 13:13:26 berg Exp $*/
  1001. X
  1002. X#ifdef malloc
  1003. X#undef malloc
  1004. X#endif
  1005. X#define malloc(n)    tmalloc((size_t)(n))
  1006. X#define realloc(p,n)    trealloc(p,(size_t)(n))
  1007. X#define free(p)        tfree(p)
  1008. X#define tmemmove(t,f,n) memmove(t,f,(size_t)(n))
  1009. END_OF_FILE
  1010. if test 249 -ne `wc -c <'procmail/src/shell.h'`; then
  1011.     echo shar: \"'procmail/src/shell.h'\" unpacked with wrong size!
  1012. fi
  1013. # end of 'procmail/src/shell.h'
  1014. fi
  1015. if test -f 'procmail/src/sublib.h' -a "${1}" != "-c" ; then 
  1016.   echo shar: Will not clobber existing file \"'procmail/src/sublib.h'\"
  1017. else
  1018. echo shar: Extracting \"'procmail/src/sublib.h'\" \(385 characters\)
  1019. sed "s/^X//" >'procmail/src/sublib.h' <<'END_OF_FILE'
  1020. X/*$Id: sublib.h,v 1.7 1993/01/26 14:49:54 berg Exp $*/
  1021. X
  1022. X#ifdef NOmemmove
  1023. Xvoid
  1024. X *smemmove Q((void*To,const void*From,size_t count));
  1025. X#endif
  1026. X
  1027. X#ifdef NOstrpbrk
  1028. Xchar
  1029. X *strpbrk P((const char*const st,const char*del));
  1030. X#endif
  1031. X
  1032. X#ifdef NOstrstr
  1033. Xchar
  1034. X *strstr P((const char*whole,const char*const part));
  1035. X#endif
  1036. X
  1037. X#ifdef NOstrtol
  1038. Xlong
  1039. X strtol P((const char*start,const char**const ptr));
  1040. X#endif
  1041. END_OF_FILE
  1042. if test 385 -ne `wc -c <'procmail/src/sublib.h'`; then
  1043.     echo shar: \"'procmail/src/sublib.h'\" unpacked with wrong size!
  1044. fi
  1045. # end of 'procmail/src/sublib.h'
  1046. fi
  1047. echo shar: End of archive 1 \(of 11\).
  1048. cp /dev/null ark1isdone
  1049. MISSING=""
  1050. for I in 1 2 3 4 5 6 7 8 9 10 11 ; do
  1051.     if test ! -f ark${I}isdone ; then
  1052.     MISSING="${MISSING} ${I}"
  1053.     fi
  1054. done
  1055. if test "${MISSING}" = "" ; then
  1056.     echo You have unpacked all 11 archives.
  1057.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1058. else
  1059.     echo You still need to unpack the following archives:
  1060.     echo "        " ${MISSING}
  1061. fi
  1062. ##  End of shell archive.
  1063. exit 0
  1064. -- 
  1065. Sincerely,                                  berg@pool.informatik.rwth-aachen.de
  1066.            Stephen R. van den Berg (AKA BuGless).    berg@physik.tu-muenchen.de
  1067.  
  1068. "Always look on the bright side of life!"
  1069.  
  1070. exit 0 # Just in case...
  1071.