home *** CD-ROM | disk | FTP | other *** search
/ NetComm Communications 5 / NetComm.iso / resource / netcomm / wcomm / disk2 / create.sh_ / create.bin
Encoding:
Text File  |  1994-10-24  |  4.4 KB  |  212 lines

  1. rm id.* 2>/dev/null
  2. rm -rf sco 2>/dev/null
  3. cat > pmfold.sh << \XXXX
  4. export PMFILE
  5. if [ -s $PMFILE ] ; then
  6. if [ -d sco ] ; then
  7. . testsco.sh
  8. fi
  9. awk -f pmheader.awk $PMFILE >pmfolder.hdr 2>/dev/null
  10. else
  11. : | cat >pmfolder.hdr
  12. fi
  13. XXXX
  14. cat > testsco.sh << \XXXX
  15. if [ -s $PMFILE ] ; then
  16. if  tr '\001' '(' < $PMFILE | grep "^(((("  > /dev/null
  17. then
  18.   rm -f mmdf.sh pmdelete.awk pmheader.awk pmsend.awk >/dev/null 2>&1
  19.   mv -f sco/*.* . >/dev/null 2>&1 #*/
  20. fi
  21. rm -rf sco   >/dev/null 2>&1
  22. fi
  23. XXXX
  24. cat > pmopen.sh << \XXXX
  25. case `uname` in
  26.  IRIX|HP-UX) _pm=/usr/mail ;;
  27.  ULTRIX) _pm=/usr/spool/mail ;;
  28.  AIX) _pm=/var/spool/mail ;;
  29.  *) if [ -d /var/mail ] ; then
  30.       _pm=/var/mail
  31.     else
  32.     if [ -d /usr/spool/mail ] ; then
  33.       _pm=/usr/spool/mail
  34.     else
  35.       _pm=/var/spool/mail
  36.     fi
  37.     fi;;
  38. esac
  39. if [ ! -d $_pm ] ; then
  40.  if [ -d /usr/spool/mail ] ; then
  41.    _pm=/usr/spool/mail
  42.  else
  43.    if [ -d /var/spool/mail ] ; then
  44.     _pm=/var/spool/mail
  45.    else
  46.     if [ -d /var/mail ]; then
  47.      _pm=/var/mail
  48.     fi
  49.    fi
  50.  fi
  51. fi
  52. (whoami)>/dev/null 2>&1
  53. case $$ in
  54. 0) _User=`whoami` ;;
  55. *) _User=`logname`;;
  56. esac
  57. PMS=${PMMAIL-$_pm/$_User}
  58. umask 007
  59. if [ -s $PMS ] ; then
  60. if cp $PMS pmfolder 2>/dev/null ; then
  61. PMCOUNT=`wc -c pmfolder`; set $PMCOUNT ; PMCOUNT=$1
  62. PMFILE=pmfolder
  63. export PMFILE
  64. if [ -d sco ] ; then
  65. . testsco.sh
  66. fi
  67. awk -f pmheader.awk pmfolder > pmfolder.hdr 2>/dev/null
  68. else
  69. rm pmfolder
  70. test
  71. fi
  72. else
  73. : | cat >pmfolder.hdr
  74. fi
  75. XXXX
  76. echo ':
  77. ' > mmdf.sh
  78. echo 'if [ -s pmfolder.hdr ] ; then
  79. if [ -s $PMS ] ; then
  80. set `wc -c $PMS`
  81. if [ $PMCOUNT != $1 ] ; then tail +${PMCOUNT}c $PMS >>pmfolder 2>/dev/null ; fi
  82. fi
  83. if cp pmfolder $PMS ; then rm -f pmfolder 2>/dev/null ; fi
  84. fi' > pmclose.sh
  85. echo 'awk -f pmsend.awk line=$1 $PMFILE | cat -v' > pmsend.sh
  86. echo 'awk -f pmstatus.awk line=$1 status=$2 $PMFILE > pmtemp
  87. mv pmtemp $PMFILE' > pmstatus.sh
  88. echo 'if cp $PMFILE pmtemp ; then
  89. rm pmtemp
  90. awk -f pmdelete.awk line=$1 $PMFILE > pmtemp
  91. mv pmtemp $PMFILE
  92. else
  93. rm pmtemp
  94. exit 1
  95. fi' > pmdelete.sh
  96. cat > pmheader.awk << \XXXX
  97. BEGIN {status="UN"; id=""; empty=0}
  98. /^$/ {empty=NR}
  99. /^[Ss][Tt][Aa][Tt][Uu][Ss]:/ {status=$2}
  100. (id=="") && /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:/ {id=$2$3$4$5$6}
  101. /^From / && (empty==NR-1) {
  102.     if (NR>1) {
  103.       if (id=="") {
  104.         print from"//"status"//"line}
  105.       else {
  106.         print id"//"status"//"line} }
  107.     line=NR;
  108.     from=$0
  109.     status="UN";
  110.     id="";
  111. }
  112. END {
  113. if (id=="") {
  114.   print from"//"status"//"line}
  115. else {
  116.   print id"//"status"//"line} }
  117. XXXX
  118. echo 'BEGIN {place=0; empty=0}
  119. (place==2) {
  120.     next}
  121. (place==0) {
  122.     if (NR > line-1) {
  123.         print; place = 1; next}
  124.     else {
  125.         next}
  126. }
  127. (place==1) {
  128.     if ($0 ~ /^$/) {empty=NR; print; next}
  129.     if (($0 ~ /^From /) && (empty==NR-1)) {
  130.         place=2; next}
  131.     print;
  132. }' > pmsend.awk
  133. echo 'BEGIN {place=0; empty=-1}
  134. (place==2) {
  135.     print; next}
  136. (place==0) {
  137.     if (NR > line-1) {
  138.         place = 1}
  139.     else {
  140.         print; next}
  141. }
  142. (place==1) {
  143.     if ($0 ~ /^$/) {empty=NR; next}
  144.     if (($0 ~ /^From /) && (empty==NR-1)) {
  145.         print; place=2; next}
  146. }' > pmdelete.awk
  147. echo 'BEGIN {}
  148. /.*/ {print}
  149. END {}' > pmstatus.awk
  150. if uname -X > /dev/null 2>&1 ; then
  151. mkdir sco
  152. echo 'BEGIN {place=0}
  153. (place==2) {
  154.     print; next}
  155. (place==0) {
  156.     if (NR > line - 2) {
  157.         place = 1; next}
  158.     else {
  159.         print; next}
  160. }
  161. (place==1) {
  162.     if ($0 ~ /^\001\001\001\001$/) {
  163.         place=2; next}
  164. }' > sco/pmdelete.awk
  165. cat > sco/pmheader.awk << \XXXX
  166. BEGIN {status="UN"; id=""; empty=0}
  167. /^$/ {empty=NR}
  168. /^[Ss][Tt][Aa][Tt][Uu][Ss]:/ {status=$2}
  169. /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:/ && (id=="") {id=$2$3$4$5$6}
  170. /^From / && (empty==NR-1) {
  171.     if (NR>2) {
  172.       if (id=="") {
  173.         print from"//"status"//"line}
  174.       else {
  175.         print id"//"status"//"line} }
  176.     line=NR;
  177.     from=$0
  178.     status="UN";
  179.     id="";
  180. }
  181. END {
  182. if (id=="") {
  183.   print from"//"status"//"line}
  184. else {
  185.   print id"//"status"//"line} }
  186. XXXX
  187. echo 'BEGIN {place=0; empty=0}
  188. (place==2) {
  189.     next}
  190. (place==0) {
  191.     if (NR > line-1) {
  192.         print; place = 1; next}
  193.     else {
  194.         next}
  195. }
  196. (place==1) {
  197.     if ($0 ~ /^\001\001\001\001$/) {
  198.         place=2; next}
  199.     print;
  200. }' > sco/pmsend.awk
  201. cat > sco/mmdf.sh << \XXXX
  202. rm -f _mmfile
  203. mv -f $1 _mmfile
  204. echo '' > $1
  205. cat _mmfile  >> $1
  206. echo '' >> $1
  207. rm -f _mmfile
  208. XXXX
  209. fi
  210. : | cat >id.018
  211.  
  212.