home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume2 / remote / tar.c.DIFF < prev   
Encoding:
Text File  |  1986-11-30  |  2.0 KB  |  85 lines

  1. *** /usr/src/bin/tar.c    Wed Nov 14 00:09:23 1984
  2. --- tar.c    Wed Jul 24 12:26:38 1985
  3. ***************
  4. *** 27,32
  5.    * Tape Archival Program
  6.    */
  7.   #include <stdio.h>
  8.   #include <sys/param.h>
  9.   #include <sys/stat.h>
  10.   #include <sys/dir.h>
  11.  
  12. --- 27,33 -----
  13.    * Tape Archival Program
  14.    */
  15.   #include <stdio.h>
  16. + #include <rmt.h>    /* remote tape, must come before <sys/stat.h> */
  17.   #include <sys/param.h>
  18.   #include <sys/stat.h>
  19.   #include <sys/dir.h>
  20. ***************
  21. *** 306,311
  22.           doxtract(argv);
  23.       else
  24.           dotable();
  25.       done(0);
  26.   }
  27.   
  28.  
  29. --- 307,313 -----
  30.           doxtract(argv);
  31.       else
  32.           dotable();
  33. +     close (mt);
  34.       done(0);
  35.   }
  36.   
  37. ***************
  38. *** 722,728
  39.           if (checkdir(dblock.dbuf.name))
  40.               continue;
  41.           if (dblock.dbuf.linkflag == '2') {
  42. !             unlink(dblock.dbuf.name);
  43.               if (symlink(dblock.dbuf.linkname, dblock.dbuf.name)<0) {
  44.                   fprintf(stderr, "tar: %s: symbolic link failed\n",
  45.                       dblock.dbuf.name);
  46.  
  47. --- 724,736 -----
  48.           if (checkdir(dblock.dbuf.name))
  49.               continue;
  50.           if (dblock.dbuf.linkflag == '2') {
  51. !             /*
  52. !              * only unlink non-directories or empty directories
  53. !              */
  54. !             if (rmdir (dblock.dbuf.name) < 0) {
  55. !                 if (errno == ENOTDIR)
  56. !                     unlink(dblock.dbuf.name);
  57. !             }
  58.               if (symlink(dblock.dbuf.linkname, dblock.dbuf.name)<0) {
  59.                   fprintf(stderr, "tar: %s: symbolic link failed\n",
  60.                       dblock.dbuf.name);
  61. ***************
  62. *** 749,755
  63.               continue;
  64.           }
  65.           if (dblock.dbuf.linkflag == '1') {
  66. !             unlink(dblock.dbuf.name);
  67.               if (link(dblock.dbuf.linkname, dblock.dbuf.name) < 0) {
  68.                   fprintf(stderr, "tar: %s: cannot link\n",
  69.                       dblock.dbuf.name);
  70.  
  71. --- 757,769 -----
  72.               continue;
  73.           }
  74.           if (dblock.dbuf.linkflag == '1') {
  75. !             /*
  76. !              * only unlink non-directories or empty directories
  77. !              */
  78. !             if (rmdir (dblock.dbuf.name) < 0) {
  79. !                 if (errno == ENOTDIR)
  80. !                     unlink(dblock.dbuf.name);
  81. !             }
  82.               if (link(dblock.dbuf.linkname, dblock.dbuf.name) < 0) {
  83.                   fprintf(stderr, "tar: %s: cannot link\n",
  84.                       dblock.dbuf.name);
  85.