Annotation of coherent/g/usr/bin/pax/misc/patch1, revision 1.1

1.1     ! root        1: 
        !             2: Index: append.c
        !             3: *** /tmp/,RCSt1a17023  Sun Feb 12 14:05:27 1989
        !             4: --- append.c   Sun Feb 12 14:01:57 1989
        !             5: ***************
        !             6: *** 1,6
        !             7:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !             8:    *
        !             9: !  * $Revision: 1.1 $
        !            10:    *
        !            11:    * append.c - append to a tape archive. 
        !            12:    *
        !            13: 
        !            14: --- 1,6 -----
        !            15:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !            16:    *
        !            17: !  * $Revision: 1.1 $
        !            18:    *
        !            19:    * append.c - append to a tape archive. 
        !            20:    *
        !            21: ***************
        !            22: *** 27,33
        !            23:    *
        !            24:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            25:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            26: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            27:    *
        !            28:    * $Log:     patch1,v $
        !            29: # Revision 1.1  92/08/28  08:02:28  bin
        !            30: # Initial revision
        !            31: # 
        !            32:    * Revision 1.1  88/12/23  18:02:00  mark
        !            33: 
        !            34: --- 27,33 -----
        !            35:    *
        !            36:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            37:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            38: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            39:    *
        !            40:    * $Log:     patch1,v $
        !            41: # Revision 1.1  92/08/28  08:02:28  bin
        !            42: # Initial revision
        !            43: # 
        !            44:    * Revision 1.2  89/02/12  10:03:58  mark
        !            45: ***************
        !            46: *** 30,35
        !            47:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            48:    *
        !            49:    * $Log:     patch1,v $
        !            50: # Revision 1.1  92/08/28  08:02:28  bin
        !            51: # Initial revision
        !            52: # 
        !            53:    * Revision 1.1  88/12/23  18:02:00  mark
        !            54:    * Initial revision
        !            55:    * 
        !            56: 
        !            57: --- 30,38 -----
        !            58:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            59:    *
        !            60:    * $Log:     patch1,v $
        !            61: # Revision 1.1  92/08/28  08:02:28  bin
        !            62: # Initial revision
        !            63: # 
        !            64: +  * Revision 1.2  89/02/12  10:03:58  mark
        !            65: +  * 1.2 release fixes
        !            66: +  * 
        !            67:    * Revision 1.1  88/12/23  18:02:00  mark
        !            68:    * Initial revision
        !            69:    * 
        !            70: ***************
        !            71: *** 36,42
        !            72:    */
        !            73:   
        !            74:   #ifndef lint
        !            75: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !            76:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !            77:   #endif /* ! lint */
        !            78:   
        !            79: 
        !            80: --- 39,45 -----
        !            81:    */
        !            82:   
        !            83:   #ifndef lint
        !            84: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !            85:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !            86:   #endif /* ! lint */
        !            87:   
        !            88: Index: buffer.c
        !            89: *** /tmp/,RCSt1a17028  Sun Feb 12 14:05:34 1989
        !            90: --- buffer.c   Sun Feb 12 14:02:00 1989
        !            91: ***************
        !            92: *** 1,6
        !            93:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !            94:    *
        !            95: !  * $Revision: 1.1 $
        !            96:    *
        !            97:    * buffer.c - Buffer management functions
        !            98:    *
        !            99: 
        !           100: --- 1,6 -----
        !           101:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           102:    *
        !           103: !  * $Revision: 1.1 $
        !           104:    *
        !           105:    * buffer.c - Buffer management functions
        !           106:    *
        !           107: ***************
        !           108: *** 30,36
        !           109:    *
        !           110:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           111:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           112: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           113:    *
        !           114:    * $Log:     patch1,v $
        !           115: # Revision 1.1  92/08/28  08:02:28  bin
        !           116: # Initial revision
        !           117: # 
        !           118:    * Revision 1.1  88/12/23  18:02:01  mark
        !           119: 
        !           120: --- 30,36 -----
        !           121:    *
        !           122:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           123:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           124: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           125:    *
        !           126:    * $Log:     patch1,v $
        !           127: # Revision 1.1  92/08/28  08:02:28  bin
        !           128: # Initial revision
        !           129: # 
        !           130:    * Revision 1.2  89/02/12  10:04:02  mark
        !           131: ***************
        !           132: *** 33,38
        !           133:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           134:    *
        !           135:    * $Log:     patch1,v $
        !           136: # Revision 1.1  92/08/28  08:02:28  bin
        !           137: # Initial revision
        !           138: # 
        !           139:    * Revision 1.1  88/12/23  18:02:01  mark
        !           140:    * Initial revision
        !           141:    * 
        !           142: 
        !           143: --- 33,41 -----
        !           144:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           145:    *
        !           146:    * $Log:     patch1,v $
        !           147: # Revision 1.1  92/08/28  08:02:28  bin
        !           148: # Initial revision
        !           149: # 
        !           150: +  * Revision 1.2  89/02/12  10:04:02  mark
        !           151: +  * 1.2 release fixes
        !           152: +  * 
        !           153:    * Revision 1.1  88/12/23  18:02:01  mark
        !           154:    * Initial revision
        !           155:    * 
        !           156: ***************
        !           157: *** 39,45
        !           158:    */
        !           159:   
        !           160:   #ifndef lint
        !           161: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           162:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           163:   #endif /* ! lint */
        !           164:   
        !           165: 
        !           166: --- 42,48 -----
        !           167:    */
        !           168:   
        !           169:   #ifndef lint
        !           170: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           171:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           172:   #endif /* ! lint */
        !           173:   
        !           174: ***************
        !           175: *** 114,121
        !           176:       int             ofd;
        !           177:       time_t          tstamp[2];
        !           178:   
        !           179: !     if ((ofd = openo(name, asb, linkp = linkfrom(name, asb), 0)) > 0) {
        !           180: !      if (asb->sb_size || linkp == NULL || linkp->l_size == 0) {
        !           181:            close(indata(ofd, asb->sb_size, name));
        !           182:        } else if ((ifd = open(linkp->l_path->p_name, O_RDONLY)) < 0) {
        !           183:            warn(linkp->l_path->p_name, syserr());
        !           184: 
        !           185: --- 117,124 -----
        !           186:       int             ofd;
        !           187:       time_t          tstamp[2];
        !           188:   
        !           189: !     if ((ofd = openout(name, asb, linkp = linkfrom(name, asb), 0)) > 0) {
        !           190: !      if (asb->sb_size || linkp == (Link *)NULL || linkp->l_size == 0) {
        !           191:            close(indata(ofd, asb->sb_size, name));
        !           192:        } else if ((ifd = open(linkp->l_path->p_name, O_RDONLY)) < 0) {
        !           193:            warn(linkp->l_path->p_name, strerror());
        !           194: ***************
        !           195: *** 118,124
        !           196:        if (asb->sb_size || linkp == NULL || linkp->l_size == 0) {
        !           197:            close(indata(ofd, asb->sb_size, name));
        !           198:        } else if ((ifd = open(linkp->l_path->p_name, O_RDONLY)) < 0) {
        !           199: !          warn(linkp->l_path->p_name, syserr());
        !           200:        } else {
        !           201:            passdata(linkp->l_path->p_name, ifd, name, ofd);
        !           202:            close(ifd);
        !           203: 
        !           204: --- 121,127 -----
        !           205:        if (asb->sb_size || linkp == (Link *)NULL || linkp->l_size == 0) {
        !           206:            close(indata(ofd, asb->sb_size, name));
        !           207:        } else if ((ifd = open(linkp->l_path->p_name, O_RDONLY)) < 0) {
        !           208: !          warn(linkp->l_path->p_name, strerror());
        !           209:        } else {
        !           210:            passdata(linkp->l_path->p_name, ifd, name, ofd);
        !           211:            close(ifd);
        !           212: ***************
        !           213: *** 128,134
        !           214:        return(buf_skip((OFFSET) asb->sb_size) >= 0);
        !           215:       }
        !           216:       tstamp[0] = (!f_pass && f_access_time) ? asb->sb_atime : time((time_t *) 0);
        !           217: !     tstamp[1] = f_modification_time ? asb->sb_mtime : time((time_t *) 0);
        !           218:       utime(name, tstamp);
        !           219:       return (0);
        !           220:   }
        !           221: 
        !           222: --- 131,137 -----
        !           223:        return(buf_skip((OFFSET) asb->sb_size) >= 0);
        !           224:       }
        !           225:       tstamp[0] = (!f_pass && f_access_time) ? asb->sb_atime : time((time_t *) 0);
        !           226: !     tstamp[1] = f_mtime ? asb->sb_mtime : time((time_t *) 0);
        !           227:       utime(name, tstamp);
        !           228:       return (0);
        !           229:   }
        !           230: ***************
        !           231: *** 181,187
        !           232:        size -= (chunk = size < avail ? (uint) size : avail);
        !           233:        if (oops == 0 && (got = read(fd, buf, (unsigned int) chunk)) < 0) {
        !           234:            oops = -1;
        !           235: !          warn(name, syserr());
        !           236:            got = 0;
        !           237:        }
        !           238:        if (got < chunk) {
        !           239: 
        !           240: --- 184,190 -----
        !           241:        size -= (chunk = size < avail ? (uint) size : avail);
        !           242:        if (oops == 0 && (got = read(fd, buf, (unsigned int) chunk)) < 0) {
        !           243:            oops = -1;
        !           244: !          warn(name, strerror());
        !           245:            got = 0;
        !           246:        }
        !           247:        if (got < chunk) {
        !           248: ***************
        !           249: *** 185,191
        !           250:            got = 0;
        !           251:        }
        !           252:        if (got < chunk) {
        !           253: !          if (oops == NULL) {
        !           254:                oops = -1;
        !           255:            }
        !           256:            warn(name, "Early EOF");
        !           257: 
        !           258: --- 188,194 -----
        !           259:            got = 0;
        !           260:        }
        !           261:        if (got < chunk) {
        !           262: !          if (oops == 0) {
        !           263:                oops = -1;
        !           264:            }
        !           265:            warn(name, "Early EOF");
        !           266: ***************
        !           267: *** 296,302
        !           268:    * DESCRIPTION
        !           269:    *
        !           270:    *   Copies a file from one place to another.  Doesn't believe in input 
        !           271: !  *   file descriptor zero (see description of kludge in openi() comments). 
        !           272:    *   Closes the provided output file descriptor. 
        !           273:    *
        !           274:    * PARAMETERS
        !           275: 
        !           276: --- 299,305 -----
        !           277:    * DESCRIPTION
        !           278:    *
        !           279:    *   Copies a file from one place to another.  Doesn't believe in input 
        !           280: !  *   file descriptor zero (see description of kludge in openin() comments). 
        !           281:    *   Closes the provided output file descriptor. 
        !           282:    *
        !           283:    * PARAMETERS
        !           284: ***************
        !           285: *** 333,339
        !           286:            total += got;
        !           287:        }
        !           288:        if (got) {
        !           289: !          warn(got < 0 ? from : to, syserr());
        !           290:        } else if (sparse > 0
        !           291:                 && (lseek(ofd, (OFFSET)(-sparse), 1) < 0
        !           292:                     || write(ofd, block, (uint) sparse) != sparse)) {
        !           293: 
        !           294: --- 336,342 -----
        !           295:            total += got;
        !           296:        }
        !           297:        if (got) {
        !           298: !          warn(got < 0 ? from : to, strerror());
        !           299:        } else if (sparse > 0
        !           300:                 && (lseek(ofd, (OFFSET)(-sparse), 1) < 0
        !           301:                     || write(ofd, block, (uint) sparse) != sparse)) {
        !           302: ***************
        !           303: *** 337,343
        !           304:        } else if (sparse > 0
        !           305:                 && (lseek(ofd, (OFFSET)(-sparse), 1) < 0
        !           306:                     || write(ofd, block, (uint) sparse) != sparse)) {
        !           307: !          warn(to, syserr());
        !           308:        }
        !           309:       }
        !           310:       close(ofd);
        !           311: 
        !           312: --- 340,346 -----
        !           313:        } else if (sparse > 0
        !           314:                 && (lseek(ofd, (OFFSET)(-sparse), 1) < 0
        !           315:                     || write(ofd, block, (uint) sparse) != sparse)) {
        !           316: !          warn(to, strerror());
        !           317:        }
        !           318:       }
        !           319:       close(ofd);
        !           320: ***************
        !           321: *** 377,384
        !           322:   
        !           323:   #endif
        !           324:   {
        !           325: -     extern char *malloc();
        !           326: -     
        !           327:       if (size <= 0) {
        !           328:        fatal("invalid value for blocksize");
        !           329:       }
        !           330: 
        !           331: --- 380,385 -----
        !           332:   
        !           333:   #endif
        !           334:   {
        !           335:       if (size <= 0) {
        !           336:        fatal("invalid value for blocksize");
        !           337:       }
        !           338: ***************
        !           339: *** 382,388
        !           340:       if (size <= 0) {
        !           341:        fatal("invalid value for blocksize");
        !           342:       }
        !           343: !     if ((bufstart = malloc((unsigned) size)) == NULL) {
        !           344:        fatal("Cannot allocate I/O buffer");
        !           345:       }
        !           346:       bufend = bufidx = bufstart;
        !           347: 
        !           348: --- 383,389 -----
        !           349:       if (size <= 0) {
        !           350:        fatal("invalid value for blocksize");
        !           351:       }
        !           352: !     if ((bufstart = malloc((unsigned) size)) == (char *)NULL) {
        !           353:        fatal("Cannot allocate I/O buffer");
        !           354:       }
        !           355:       bufend = bufidx = bufstart;
        !           356: ***************
        !           357: *** 534,540
        !           358:       uint            avail;
        !           359:   
        !           360:       corrupt = sparse = 0;
        !           361: !     oops = NULL;
        !           362:       while (size) {
        !           363:        corrupt |= buf_in_avail(&buf, &avail);
        !           364:        size -= (chunk = size < avail ? (uint) size : avail);
        !           365: 
        !           366: --- 535,541 -----
        !           367:       uint            avail;
        !           368:   
        !           369:       corrupt = sparse = 0;
        !           370: !     oops = (char *)NULL;
        !           371:       while (size) {
        !           372:        corrupt |= buf_in_avail(&buf, &avail);
        !           373:        size -= (chunk = size < avail ? (uint) size : avail);
        !           374: ***************
        !           375: *** 538,545
        !           376:       while (size) {
        !           377:        corrupt |= buf_in_avail(&buf, &avail);
        !           378:        size -= (chunk = size < avail ? (uint) size : avail);
        !           379: !      if (oops == NULL && (sparse = ar_write(fd, buf, chunk)) < 0) {
        !           380: !          oops = syserr();
        !           381:        }
        !           382:        buf_use(chunk);
        !           383:       }
        !           384: 
        !           385: --- 539,546 -----
        !           386:       while (size) {
        !           387:        corrupt |= buf_in_avail(&buf, &avail);
        !           388:        size -= (chunk = size < avail ? (uint) size : avail);
        !           389: !      if (oops == (char *)NULL && (sparse = ar_write(fd, buf, chunk)) < 0) {
        !           390: !          oops = strerror();
        !           391:        }
        !           392:        buf_use(chunk);
        !           393:       }
        !           394: ***************
        !           395: *** 550,556
        !           396:        warn(name, oops);
        !           397:       } else if (sparse > 0 && (lseek(fd, (OFFSET) - 1, 1) < 0
        !           398:                              || write(fd, "", 1) != 1)) {
        !           399: !      warn(name, syserr());
        !           400:       }
        !           401:       return (fd);
        !           402:   }
        !           403: 
        !           404: --- 551,557 -----
        !           405:        warn(name, oops);
        !           406:       } else if (sparse > 0 && (lseek(fd, (OFFSET) - 1, 1) < 0
        !           407:                              || write(fd, "", 1) != 1)) {
        !           408: !      warn(name, strerror());
        !           409:       }
        !           410:       return (fd);
        !           411:   }
        !           412: ***************
        !           413: *** 630,636
        !           414:                bufend += got;
        !           415:            } else if (got < 0) {
        !           416:                failed = -1;
        !           417: !              warnarch(syserr(), (OFFSET) 0 - (bufend - bufidx));
        !           418:            } else {
        !           419:                ++areof;
        !           420:            }
        !           421: 
        !           422: --- 631,637 -----
        !           423:                bufend += got;
        !           424:            } else if (got < 0) {
        !           425:                failed = -1;
        !           426: !              warnarch(strerror(), (OFFSET) 0 - (bufend - bufidx));
        !           427:            } else {
        !           428:                ++areof;
        !           429:            }
        !           430: Index: config.h
        !           431: *** /tmp/,RCSt1a17033  Sun Feb 12 14:05:47 1989
        !           432: --- config.h   Sun Feb 12 14:02:01 1989
        !           433: ***************
        !           434: *** 1,6
        !           435:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           436:    *
        !           437: !  * $Revision: 1.1 $
        !           438:    *
        !           439:    * config.h - configuration options for PAX
        !           440:    *
        !           441: 
        !           442: --- 1,6 -----
        !           443:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           444:    *
        !           445: !  * $Revision: 1.1 $
        !           446:    *
        !           447:    * config.h - configuration options for PAX
        !           448:    *
        !           449: ***************
        !           450: *** 28,34
        !           451:    *
        !           452:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           453:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           454: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           455:    */
        !           456:   
        !           457:   #ifndef _PAX_CONFIG_H
        !           458: 
        !           459: --- 28,34 -----
        !           460:    *
        !           461:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           462:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           463: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           464:    */
        !           465:   
        !           466:   #ifndef _PAX_CONFIG_H
        !           467: ***************
        !           468: *** 36,41
        !           469:   
        !           470:   /* Defines */
        !           471:   
        !           472:   /*
        !           473:    * USG - USG (Unix System V) specific modifications
        !           474:    *
        !           475: 
        !           476: --- 36,52 -----
        !           477:   
        !           478:   /* Defines */
        !           479:   
        !           480: + /* XENIX_286 (SCO ugh, Xenix system V(?) 286, USG with changes...
        !           481: +  * You will get a warning about DIRSIZ being redefined, ignore it,
        !           482: +  * complain to SCO about include files that are messed up or send 
        !           483: +  * mail to [email protected], who can provide some patches to fix 
        !           484: +  * your include files.
        !           485: +  *
        !           486: +  * Defining XENIX_286 will automatically define USG.
        !           487: +  *
        !           488: +  */
        !           489: + #define XENIX_286    /* Running on a XENIX 286 system */
        !           490: + 
        !           491:   /*
        !           492:    * USG - USG (Unix System V) specific modifications
        !           493:    *
        !           494: ***************
        !           495: *** 130,135
        !           496:   /* #define STRCSPN   /* implementation does not have strcspn() */
        !           497:   
        !           498:   /*
        !           499:    * END OF CONFIGURATION SECTION
        !           500:    *
        !           501:    * Nothing beyond this point should need to be changed
        !           502: 
        !           503: --- 141,157 -----
        !           504:   /* #define STRCSPN   /* implementation does not have strcspn() */
        !           505:   
        !           506:   /*
        !           507: +  * STRERROR - use the strerror function included with pax
        !           508: +  *
        !           509: +  * Non-Ansi systems do not have the strerror() function in their C libraries.
        !           510: +  * For those system define STRERROR and the one provided in misc.c will 
        !           511: +  * be used instead.
        !           512: +  */
        !           513: + #define STRERROR     /* implementation does not have strerror() */
        !           514: + 
        !           515: + /*
        !           516: + 
        !           517: + /*
        !           518:    * END OF CONFIGURATION SECTION
        !           519:    *
        !           520:    * Nothing beyond this point should need to be changed
        !           521: ***************
        !           522: *** 148,152
        !           523:   #    define DIRENT
        !           524:   #  endif
        !           525:   #endif
        !           526:   
        !           527:   #endif /* _PAX_CONFIG_H */
        !           528: 
        !           529: --- 170,178 -----
        !           530:   #    define DIRENT
        !           531:   #  endif
        !           532:   #endif
        !           533: + 
        !           534: + #ifdef XENIX_286
        !           535: + #  define USG
        !           536: + #endif /* XENIX_286 */
        !           537:   
        !           538:   #endif /* _PAX_CONFIG_H */
        !           539: Index: cpio.1
        !           540: *** /tmp/,RCSt1a17038  Sun Feb 12 14:05:54 1989
        !           541: --- cpio.1     Sun Feb 12 14:02:02 1989
        !           542: ***************
        !           543: *** 1,4
        !           544: ! .\" $Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $
        !           545:   .TH CPIO 1 "USENIX Association" ""
        !           546:   .SH NAME
        !           547:   cpio \- copy file archives in and out
        !           548: 
        !           549: --- 1,4 -----
        !           550: ! .\" $Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $
        !           551:   .TH CPIO 1 "USENIX Association" ""
        !           552:   .SH NAME
        !           553:   cpio \- copy file archives in and out
        !           554: ***************
        !           555: *** 254,260
        !           556:   .PP
        !           557:   THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           558:   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           559: ! WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           560:   .SH AUTHOR
        !           561:   Mark H. Colburn
        !           562:   .br
        !           563: 
        !           564: --- 254,260 -----
        !           565:   .PP
        !           566:   THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           567:   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           568: ! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           569:   .SH AUTHOR
        !           570:   Mark H. Colburn
        !           571:   .br
        !           572: Index: cpio.c
        !           573: *** /tmp/,RCSt1a17043  Sun Feb 12 14:06:01 1989
        !           574: --- cpio.c     Sun Feb 12 14:02:03 1989
        !           575: ***************
        !           576: *** 1,6
        !           577:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           578:    *
        !           579: !  * $Revision: 1.1 $
        !           580:    *
        !           581:    * cpio.c - Cpio specific functions for archive handling
        !           582:    *
        !           583: 
        !           584: --- 1,6 -----
        !           585:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           586:    *
        !           587: !  * $Revision: 1.1 $
        !           588:    *
        !           589:    * cpio.c - Cpio specific functions for archive handling
        !           590:    *
        !           591: ***************
        !           592: *** 27,33
        !           593:    *
        !           594:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           595:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           596: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           597:    *
        !           598:    * $Log:     patch1,v $
        !           599: # Revision 1.1  92/08/28  08:02:28  bin
        !           600: # Initial revision
        !           601: # 
        !           602:    * Revision 1.1  88/12/23  18:02:05  mark
        !           603: 
        !           604: --- 27,33 -----
        !           605:    *
        !           606:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           607:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           608: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           609:    *
        !           610:    * $Log:     patch1,v $
        !           611: # Revision 1.1  92/08/28  08:02:28  bin
        !           612: # Initial revision
        !           613: # 
        !           614:    * Revision 1.2  89/02/12  10:04:13  mark
        !           615: ***************
        !           616: *** 30,35
        !           617:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           618:    *
        !           619:    * $Log:     patch1,v $
        !           620: # Revision 1.1  92/08/28  08:02:28  bin
        !           621: # Initial revision
        !           622: # 
        !           623:    * Revision 1.1  88/12/23  18:02:05  mark
        !           624:    * Initial revision
        !           625:    * 
        !           626: 
        !           627: --- 30,38 -----
        !           628:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           629:    *
        !           630:    * $Log:     patch1,v $
        !           631: # Revision 1.1  92/08/28  08:02:28  bin
        !           632: # Initial revision
        !           633: # 
        !           634: +  * Revision 1.2  89/02/12  10:04:13  mark
        !           635: +  * 1.2 release fixes
        !           636: +  * 
        !           637:    * Revision 1.1  88/12/23  18:02:05  mark
        !           638:    * Initial revision
        !           639:    * 
        !           640: ***************
        !           641: *** 36,42
        !           642:    */
        !           643:   
        !           644:   #ifndef lint
        !           645: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           646:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           647:   #endif /* ! lint */
        !           648:   
        !           649: 
        !           650: --- 39,45 -----
        !           651:    */
        !           652:   
        !           653:   #ifndef lint
        !           654: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           655:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           656:   #endif /* ! lint */
        !           657:   
        !           658: ***************
        !           659: *** 113,119
        !           660:   
        !           661:            /* check to make sure that the argument is a directory */
        !           662:            if (LSTAT(dirname, &st) < 0) {
        !           663: !              fatal(syserr());
        !           664:            }
        !           665:            if ((st.sb_mode & S_IFMT) != S_IFDIR) {
        !           666:                fatal("Not a directory");
        !           667: 
        !           668: --- 116,122 -----
        !           669:   
        !           670:            /* check to make sure that the argument is a directory */
        !           671:            if (LSTAT(dirname, &st) < 0) {
        !           672: !              fatal(strerror());
        !           673:            }
        !           674:            if ((st.sb_mode & S_IFMT) != S_IFDIR) {
        !           675:                fatal("Not a directory");
        !           676: ***************
        !           677: *** 131,137
        !           678:            ar_file = optarg;
        !           679:            break;
        !           680:        case 'd':
        !           681: !          f_create_dirs = 1;
        !           682:            break;
        !           683:        case 'f':
        !           684:            f_reverse_match = 1;
        !           685: 
        !           686: --- 134,140 -----
        !           687:            ar_file = optarg;
        !           688:            break;
        !           689:        case 'd':
        !           690: !          f_dir_create = 1;
        !           691:            break;
        !           692:        case 'f':
        !           693:            f_reverse_match = 1;
        !           694: ***************
        !           695: *** 140,146
        !           696:            f_link = 1;
        !           697:            break;
        !           698:        case 'm':
        !           699: !          f_modification_time = 1;
        !           700:            break;
        !           701:        case 'r':
        !           702:            f_interactive = 1;
        !           703: 
        !           704: --- 143,149 -----
        !           705:            f_link = 1;
        !           706:            break;
        !           707:        case 'm':
        !           708: !          f_mtime = 1;
        !           709:            break;
        !           710:        case 'r':
        !           711:            f_interactive = 1;
        !           712: ***************
        !           713: *** 176,182
        !           714:       }
        !           715:   
        !           716:       /* print out the total block count transfered */
        !           717: !     fprintf(stderr, "%d Blocks\n", ROUNDUP(total, BLOCKSIZE) / BLOCKSIZE);
        !           718:       
        !           719:       exit(0);
        !           720:       /* NOTREACHED */
        !           721: 
        !           722: --- 179,185 -----
        !           723:       }
        !           724:   
        !           725:       /* print out the total block count transfered */
        !           726: !     fprintf(stderr, "%ld Blocks\n", ROUNDUP(total, BLOCKSIZE) / BLOCKSIZE);
        !           727:       
        !           728:       exit(0);
        !           729:       /* NOTREACHED */
        !           730: ***************
        !           731: *** 207,217
        !           732:   
        !           733:   #endif
        !           734:   {
        !           735: !     fprintf(stderr, "\
        !           736: ! Usage: %s -o[Bacv]\n", myname);
        !           737: !     fprintf(stderr, "\
        !           738: !        %s -i[Bcdmrtuvf] [pattern...]\n", myname);
        !           739: !     fprintf(stderr, "\
        !           740: !        %s -p[adlmruv] directory\n", myname);
        !           741:       exit(1);
        !           742:   }
        !           743: 
        !           744: --- 210,217 -----
        !           745:   
        !           746:   #endif
        !           747:   {
        !           748: !     fprintf(stderr, "Usage: %s -o[Bacv]\n", myname);
        !           749: !     fprintf(stderr, "       %s -i[Bcdmrtuvf] [pattern...]\n", myname);
        !           750: !     fprintf(stderr, "       %s -p[adlmruv] directory\n", myname);
        !           751:       exit(1);
        !           752:   }
        !           753: Index: create.c
        !           754: *** /tmp/,RCSt1a17048  Sun Feb 12 14:06:10 1989
        !           755: --- create.c   Sun Feb 12 14:02:05 1989
        !           756: ***************
        !           757: *** 1,6
        !           758:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           759:    *
        !           760: !  * $Revision: 1.1 $
        !           761:    *
        !           762:    * create.c - Create a tape archive. 
        !           763:    *
        !           764: 
        !           765: --- 1,6 -----
        !           766:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           767:    *
        !           768: !  * $Revision: 1.1 $
        !           769:    *
        !           770:    * create.c - Create a tape archive. 
        !           771:    *
        !           772: ***************
        !           773: *** 27,33
        !           774:    *
        !           775:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           776:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           777: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           778:    *
        !           779:    * $Log:     patch1,v $
        !           780: # Revision 1.1  92/08/28  08:02:28  bin
        !           781: # Initial revision
        !           782: # 
        !           783:    * Revision 1.1  88/12/23  18:02:06  mark
        !           784: 
        !           785: --- 27,33 -----
        !           786:    *
        !           787:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           788:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           789: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           790:    *
        !           791:    * $Log:     patch1,v $
        !           792: # Revision 1.1  92/08/28  08:02:28  bin
        !           793: # Initial revision
        !           794: # 
        !           795:    * Revision 1.3  89/02/12  10:29:37  mark
        !           796: ***************
        !           797: *** 30,35
        !           798:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           799:    *
        !           800:    * $Log:     patch1,v $
        !           801: # Revision 1.1  92/08/28  08:02:28  bin
        !           802: # Initial revision
        !           803: # 
        !           804:    * Revision 1.1  88/12/23  18:02:06  mark
        !           805:    * Initial revision
        !           806:    * 
        !           807: 
        !           808: --- 30,41 -----
        !           809:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           810:    *
        !           811:    * $Log:     patch1,v $
        !           812: # Revision 1.1  92/08/28  08:02:28  bin
        !           813: # Initial revision
        !           814: # 
        !           815: +  * Revision 1.3  89/02/12  10:29:37  mark
        !           816: +  * Fixed misspelling of Replstr
        !           817: +  * 
        !           818: +  * Revision 1.2  89/02/12  10:04:17  mark
        !           819: +  * 1.2 release fixes
        !           820: +  * 
        !           821:    * Revision 1.1  88/12/23  18:02:06  mark
        !           822:    * Initial revision
        !           823:    * 
        !           824: ***************
        !           825: *** 36,42
        !           826:    */
        !           827:   
        !           828:   #ifndef lint
        !           829: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           830:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           831:   #endif /* ! lint */
        !           832:   
        !           833: 
        !           834: --- 42,48 -----
        !           835:    */
        !           836:   
        !           837:   #ifndef lint
        !           838: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !           839:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !           840:   #endif /* ! lint */
        !           841:   
        !           842: ***************
        !           843: *** 93,99
        !           844:       int             fd;
        !           845:   
        !           846:       while (name_next(name, &sb) != -1) {
        !           847: !      if ((fd = openi(name, &sb)) < 0) {
        !           848:            /* FIXME: pax wants to exit here??? */
        !           849:            continue;
        !           850:        }
        !           851: 
        !           852: --- 99,105 -----
        !           853:       int             fd;
        !           854:   
        !           855:       while (name_next(name, &sb) != -1) {
        !           856: !      if ((fd = openin(name, &sb)) < 0) {
        !           857:            /* FIXME: pax wants to exit here??? */
        !           858:            continue;
        !           859:        }
        !           860: ***************
        !           861: *** 98,104
        !           862:            continue;
        !           863:        }
        !           864:   
        !           865: !      if (rplhead != NULL) {
        !           866:            rpl_name(name);
        !           867:            if (strlen(name) == 0) {
        !           868:                continue;
        !           869: 
        !           870: --- 104,110 -----
        !           871:            continue;
        !           872:        }
        !           873:   
        !           874: !      if (rplhead != (Replstr *)NULL) {
        !           875:            rpl_name(name);
        !           876:            if (strlen(name) == 0) {
        !           877:                continue;
        !           878: ***************
        !           879: *** 185,191
        !           880:   #endif
        !           881:   {
        !           882:       char        *p;
        !           883: !     char           *prefix = NULL;
        !           884:       int             i;
        !           885:       int             sum;
        !           886:       char            hdr[BLOCKSIZE];
        !           887: 
        !           888: --- 191,197 -----
        !           889:   #endif
        !           890:   {
        !           891:       char        *p;
        !           892: !     char           *prefix = (char *)NULL;
        !           893:       int             i;
        !           894:       int             sum;
        !           895:       char            hdr[BLOCKSIZE];
        !           896: ***************
        !           897: *** 230,236
        !           898:       sprintf(&hdr[136], "%011lo ", (long) asb->sb_mtime);
        !           899:       strncpy(&hdr[148], "        ", 8);
        !           900:       hdr[156] = tartype(asb->sb_mode);
        !           901: !     if (asb->sb_nlink > 1 && (from = linkfrom(name, asb)) != NULL) {
        !           902:        strcpy(&hdr[157], from->l_name);
        !           903:        hdr[156] = LNKTYPE;
        !           904:       }
        !           905: 
        !           906: --- 236,242 -----
        !           907:       sprintf(&hdr[136], "%011lo ", (long) asb->sb_mtime);
        !           908:       strncpy(&hdr[148], "        ", 8);
        !           909:       hdr[156] = tartype(asb->sb_mode);
        !           910: !     if (asb->sb_nlink > 1 && (from = linkfrom(name, asb)) != (Link *)NULL) {
        !           911:        strcpy(&hdr[157], from->l_name);
        !           912:        hdr[156] = LNKTYPE;
        !           913:       }
        !           914: ***************
        !           915: *** 240,246
        !           916:       strcpy(&hdr[297], findgname((int) asb->sb_gid));
        !           917:       sprintf(&hdr[329], "%06o \0", major(asb->sb_rdev));
        !           918:       sprintf(&hdr[337], "%06o \0", minor(asb->sb_rdev));
        !           919: !     if (prefix != NULL) {
        !           920:        strncpy(&hdr[345], prefix, 155);
        !           921:       }
        !           922:   
        !           923: 
        !           924: --- 246,252 -----
        !           925:       strcpy(&hdr[297], findgname((int) asb->sb_gid));
        !           926:       sprintf(&hdr[329], "%06o \0", major(asb->sb_rdev));
        !           927:       sprintf(&hdr[337], "%06o \0", minor(asb->sb_rdev));
        !           928: !     if (prefix != (char *)NULL) {
        !           929:        strncpy(&hdr[345], prefix, 155);
        !           930:       }
        !           931:   
        !           932: ***************
        !           933: *** 358,364
        !           934:            USH(asb->sb_uid), USH(asb->sb_gid));
        !           935:       sprintf(header + M_STRLEN + 30, "%06o%06o%011lo%06o%011lo",
        !           936:            USH(asb->sb_nlink), USH(asb->sb_rdev),
        !           937: !          f_modification_time ? asb->sb_mtime : time((time_t *) 0),
        !           938:            namelen, asb->sb_size);
        !           939:       outwrite(header, M_STRLEN + H_STRLEN);
        !           940:       outwrite(name, namelen);
        !           941: 
        !           942: --- 364,370 -----
        !           943:            USH(asb->sb_uid), USH(asb->sb_gid));
        !           944:       sprintf(header + M_STRLEN + 30, "%06o%06o%011lo%06o%011lo",
        !           945:            USH(asb->sb_nlink), USH(asb->sb_rdev),
        !           946: !          f_mtime ? asb->sb_mtime : time((time_t *) 0),
        !           947:            namelen, asb->sb_size);
        !           948:       outwrite(header, M_STRLEN + H_STRLEN);
        !           949:       outwrite(name, namelen);
        !           950: Index: extract.c
        !           951: *** /tmp/,RCSt1a17053  Sun Feb 12 14:06:20 1989
        !           952: --- extract.c  Sun Feb 12 14:02:07 1989
        !           953: ***************
        !           954: *** 1,6
        !           955:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           956:    *
        !           957: !  * $Revision: 1.1 $
        !           958:    *
        !           959:    * extract.c - Extract files from a tar archive. 
        !           960:    *
        !           961: 
        !           962: --- 1,6 -----
        !           963:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !           964:    *
        !           965: !  * $Revision: 1.1 $
        !           966:    *
        !           967:    * extract.c - Extract files from a tar archive. 
        !           968:    *
        !           969: ***************
        !           970: *** 24,30
        !           971:    *
        !           972:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           973:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           974: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           975:    *
        !           976:    * $Log:     patch1,v $
        !           977: # Revision 1.1  92/08/28  08:02:28  bin
        !           978: # Initial revision
        !           979: # 
        !           980:    * Revision 1.1  88/12/23  18:02:07  mark
        !           981: 
        !           982: --- 24,30 -----
        !           983:    *
        !           984:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !           985:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !           986: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           987:    *
        !           988:    * $Log:     patch1,v $
        !           989: # Revision 1.1  92/08/28  08:02:28  bin
        !           990: # Initial revision
        !           991: # 
        !           992:    * Revision 1.3  89/02/12  10:29:43  mark
        !           993: ***************
        !           994: *** 27,32
        !           995:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !           996:    *
        !           997:    * $Log:     patch1,v $
        !           998: # Revision 1.1  92/08/28  08:02:28  bin
        !           999: # Initial revision
        !          1000: # 
        !          1001:    * Revision 1.1  88/12/23  18:02:07  mark
        !          1002:    * Initial revision
        !          1003:    * 
        !          1004: 
        !          1005: --- 27,38 -----
        !          1006:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1007:    *
        !          1008:    * $Log:     patch1,v $
        !          1009: # Revision 1.1  92/08/28  08:02:28  bin
        !          1010: # Initial revision
        !          1011: # 
        !          1012: +  * Revision 1.3  89/02/12  10:29:43  mark
        !          1013: +  * Fixed misspelling of Replstr
        !          1014: +  * 
        !          1015: +  * Revision 1.2  89/02/12  10:04:24  mark
        !          1016: +  * 1.2 release fixes
        !          1017: +  * 
        !          1018:    * Revision 1.1  88/12/23  18:02:07  mark
        !          1019:    * Initial revision
        !          1020:    * 
        !          1021: ***************
        !          1022: *** 33,39
        !          1023:    */
        !          1024:   
        !          1025:   #ifndef lint
        !          1026: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          1027:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          1028:   #endif /* ! lint */
        !          1029:   
        !          1030: 
        !          1031: --- 39,45 -----
        !          1032:    */
        !          1033:   
        !          1034:   #ifndef lint
        !          1035: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          1036:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          1037:   #endif /* ! lint */
        !          1038:   
        !          1039: ***************
        !          1040: *** 113,119
        !          1041:                warn(name, "File data is corrupt");
        !          1042:            }
        !          1043:        } else if (match) {
        !          1044: !          if (rplhead != NULL) {
        !          1045:                rpl_name(name);
        !          1046:                if (strlen(name) == 0) {
        !          1047:                    continue;
        !          1048: 
        !          1049: --- 119,125 -----
        !          1050:                warn(name, "File data is corrupt");
        !          1051:            }
        !          1052:        } else if (match) {
        !          1053: !          if (rplhead != (Replstr *)NULL) {
        !          1054:                rpl_name(name);
        !          1055:                if (strlen(name) == 0) {
        !          1056:                    continue;
        !          1057: Index: fileio.c
        !          1058: *** /tmp/,RCSt1a17058  Sun Feb 12 14:06:30 1989
        !          1059: --- fileio.c   Sun Feb 12 14:02:08 1989
        !          1060: ***************
        !          1061: *** 1,6
        !          1062:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1063:    *
        !          1064: !  * $Revision: 1.1 $
        !          1065:    *
        !          1066:    * fileio.c - file I/O functions for all archive interfaces
        !          1067:    *
        !          1068: 
        !          1069: --- 1,6 -----
        !          1070:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1071:    *
        !          1072: !  * $Revision: 1.1 $
        !          1073:    *
        !          1074:    * fileio.c - file I/O functions for all archive interfaces
        !          1075:    *
        !          1076: ***************
        !          1077: *** 27,33
        !          1078:    *
        !          1079:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1080:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1081: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1082:    *
        !          1083:    * $Log:     patch1,v $
        !          1084: # Revision 1.1  92/08/28  08:02:28  bin
        !          1085: # Initial revision
        !          1086: # 
        !          1087:    * Revision 1.1  88/12/23  18:02:09  mark
        !          1088: 
        !          1089: --- 27,33 -----
        !          1090:    *
        !          1091:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1092:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1093: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1094:    *
        !          1095:    * $Log:     patch1,v $
        !          1096: # Revision 1.1  92/08/28  08:02:28  bin
        !          1097: # Initial revision
        !          1098: # 
        !          1099:    * Revision 1.2  89/02/12  10:04:31  mark
        !          1100: ***************
        !          1101: *** 30,35
        !          1102:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1103:    *
        !          1104:    * $Log:     patch1,v $
        !          1105: # Revision 1.1  92/08/28  08:02:28  bin
        !          1106: # Initial revision
        !          1107: # 
        !          1108:    * Revision 1.1  88/12/23  18:02:09  mark
        !          1109:    * Initial revision
        !          1110:    * 
        !          1111: 
        !          1112: --- 30,38 -----
        !          1113:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1114:    *
        !          1115:    * $Log:     patch1,v $
        !          1116: # Revision 1.1  92/08/28  08:02:28  bin
        !          1117: # Initial revision
        !          1118: # 
        !          1119: +  * Revision 1.2  89/02/12  10:04:31  mark
        !          1120: +  * 1.2 release fixes
        !          1121: +  * 
        !          1122:    * Revision 1.1  88/12/23  18:02:09  mark
        !          1123:    * Initial revision
        !          1124:    * 
        !          1125: ***************
        !          1126: *** 36,42
        !          1127:    */
        !          1128:   
        !          1129:   #ifndef lint
        !          1130: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          1131:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          1132:   #endif /* ! lint */
        !          1133:   
        !          1134: 
        !          1135: --- 39,45 -----
        !          1136:    */
        !          1137:   
        !          1138:   #ifndef lint
        !          1139: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          1140:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          1141:   #endif /* ! lint */
        !          1142:   
        !          1143: ***************
        !          1144: *** 94,100
        !          1145:       }
        !          1146:   
        !          1147:       if (archivefd < 0) {
        !          1148: !      warnarch(syserr(), (OFFSET) 0);
        !          1149:        return (-1);
        !          1150:       }
        !          1151:       ++arvolume;
        !          1152: 
        !          1153: --- 97,103 -----
        !          1154:       }
        !          1155:   
        !          1156:       if (archivefd < 0) {
        !          1157: !      warnarch(strerror(), (OFFSET) 0);
        !          1158:        return (-1);
        !          1159:       }
        !          1160:       ++arvolume;
        !          1161: ***************
        !          1162: *** 127,133
        !          1163:   }
        !          1164:   
        !          1165:   
        !          1166: ! /* openo - open an output file
        !          1167:    *
        !          1168:    * DESCRIPTION
        !          1169:    *
        !          1170: 
        !          1171: --- 130,136 -----
        !          1172:   }
        !          1173:   
        !          1174:   
        !          1175: ! /* openout - open an output file
        !          1176:    *
        !          1177:    * DESCRIPTION
        !          1178:    *
        !          1179: ***************
        !          1180: *** 153,159
        !          1181:   
        !          1182:   #ifdef __STDC__
        !          1183:   
        !          1184: ! int openo(char *name, Stat *asb, Link *linkp, int ispass)
        !          1185:   
        !          1186:   #else
        !          1187:       
        !          1188: 
        !          1189: --- 156,162 -----
        !          1190:   
        !          1191:   #ifdef __STDC__
        !          1192:   
        !          1193: ! int openout(char *name, Stat *asb, Link *linkp, int ispass)
        !          1194:   
        !          1195:   #else
        !          1196:       
        !          1197: ***************
        !          1198: *** 157,163
        !          1199:   
        !          1200:   #else
        !          1201:       
        !          1202: ! int openo(name, asb, linkp, ispass)
        !          1203:   char           *name;
        !          1204:   Stat           *asb;
        !          1205:   Link           *linkp;
        !          1206: 
        !          1207: --- 160,166 -----
        !          1208:   
        !          1209:   #else
        !          1210:       
        !          1211: ! int openout(name, asb, linkp, ispass)
        !          1212:   char           *name;
        !          1213:   Stat           *asb;
        !          1214:   Link           *linkp;
        !          1215: ***************
        !          1216: *** 182,188
        !          1217:        } else if ((osb.sb_mode & S_IFMT) == (asb->sb_mode & S_IFMT)) {
        !          1218:            operm = osb.sb_mode & S_IPERM;
        !          1219:        } else if (REMOVE(name, &osb) < 0) {
        !          1220: !          warn(name, syserr());
        !          1221:            return (-1);
        !          1222:        } else {
        !          1223:            exists = 0;
        !          1224: 
        !          1225: --- 185,191 -----
        !          1226:        } else if ((osb.sb_mode & S_IFMT) == (asb->sb_mode & S_IFMT)) {
        !          1227:            operm = osb.sb_mode & S_IPERM;
        !          1228:        } else if (REMOVE(name, &osb) < 0) {
        !          1229: !          warn(name, strerror());
        !          1230:            return (-1);
        !          1231:        } else {
        !          1232:            exists = 0;
        !          1233: ***************
        !          1234: *** 193,199
        !          1235:            if (asb->sb_ino == osb.sb_ino && asb->sb_dev == osb.sb_dev) {
        !          1236:                return (0);
        !          1237:            } else if (unlink(name) < 0) {
        !          1238: !              warn(name, syserr());
        !          1239:                return (-1);
        !          1240:            } else {
        !          1241:                exists = 0;
        !          1242: 
        !          1243: --- 196,202 -----
        !          1244:            if (asb->sb_ino == osb.sb_ino && asb->sb_dev == osb.sb_dev) {
        !          1245:                return (0);
        !          1246:            } else if (unlink(name) < 0) {
        !          1247: !              warn(name, strerror());
        !          1248:                return (-1);
        !          1249:            } else {
        !          1250:                exists = 0;
        !          1251: ***************
        !          1252: *** 201,207
        !          1253:        }
        !          1254:        if (link(linkp->l_name, name) != 0) {
        !          1255:            if (errno == ENOENT) {
        !          1256: !              if (f_create_dirs) {
        !          1257:                    if (dirneed(name) != 0 ||
        !          1258:                            link(linkp->l_name, name) != 0) {
        !          1259:                            warn(name, syserr());
        !          1260: 
        !          1261: --- 204,210 -----
        !          1262:        }
        !          1263:        if (link(linkp->l_name, name) != 0) {
        !          1264:            if (errno == ENOENT) {
        !          1265: !              if (f_dir_create) {
        !          1266:                    if (dirneed(name) != 0 ||
        !          1267:                            link(linkp->l_name, name) != 0) {
        !          1268:                            warn(name, strerror());
        !          1269: ***************
        !          1270: *** 204,210
        !          1271:                if (f_create_dirs) {
        !          1272:                    if (dirneed(name) != 0 ||
        !          1273:                            link(linkp->l_name, name) != 0) {
        !          1274: !                          warn(name, syserr());
        !          1275:                        return (-1);
        !          1276:                    }
        !          1277:                } else {
        !          1278: 
        !          1279: --- 207,213 -----
        !          1280:                if (f_dir_create) {
        !          1281:                    if (dirneed(name) != 0 ||
        !          1282:                            link(linkp->l_name, name) != 0) {
        !          1283: !                          warn(name, strerror());
        !          1284:                        return (-1);
        !          1285:                    }
        !          1286:                } else {
        !          1287: ***************
        !          1288: *** 213,219
        !          1289:                }
        !          1290:                return(0);
        !          1291:            } else if (errno != EXDEV) {
        !          1292: !              warn(name, syserr());
        !          1293:                return (-1);
        !          1294:            }
        !          1295:        } else {
        !          1296: 
        !          1297: --- 216,222 -----
        !          1298:                }
        !          1299:                return(0);
        !          1300:            } else if (errno != EXDEV) {
        !          1301: !              warn(name, strerror());
        !          1302:                return (-1);
        !          1303:            }
        !          1304:        } else {
        !          1305: ***************
        !          1306: *** 228,234
        !          1307:        if (exists) {
        !          1308:            if (asb->sb_rdev == osb.sb_rdev) {
        !          1309:                if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1310: !                  warn(name, syserr());
        !          1311:                    return (-1);
        !          1312:                } else {
        !          1313:                    break;
        !          1314: 
        !          1315: --- 231,237 -----
        !          1316:        if (exists) {
        !          1317:            if (asb->sb_rdev == osb.sb_rdev) {
        !          1318:                if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1319: !                  warn(name, strerror());
        !          1320:                    return (-1);
        !          1321:                } else {
        !          1322:                    break;
        !          1323: ***************
        !          1324: *** 234,240
        !          1325:                    break;
        !          1326:                }
        !          1327:            } else if (REMOVE(name, &osb) < 0) {
        !          1328: !              warn(name, syserr());
        !          1329:                return (-1);
        !          1330:            } else {
        !          1331:                exists = 0;
        !          1332: 
        !          1333: --- 237,243 -----
        !          1334:                    break;
        !          1335:                }
        !          1336:            } else if (REMOVE(name, &osb) < 0) {
        !          1337: !              warn(name, strerror());
        !          1338:                return (-1);
        !          1339:            } else {
        !          1340:                exists = 0;
        !          1341: ***************
        !          1342: *** 242,248
        !          1343:        }
        !          1344:        if (mknod(name, (int) asb->sb_mode, (int) asb->sb_rdev) < 0) {
        !          1345:            if (errno == ENOENT) {
        !          1346: !              if (f_create_dirs) {
        !          1347:                    if (dirneed(name) < 0 || mknod(name, (int) asb->sb_mode, 
        !          1348:                           (int) asb->sb_rdev) < 0) {
        !          1349:                        warn(name, syserr());
        !          1350: 
        !          1351: --- 245,251 -----
        !          1352:        }
        !          1353:        if (mknod(name, (int) asb->sb_mode, (int) asb->sb_rdev) < 0) {
        !          1354:            if (errno == ENOENT) {
        !          1355: !              if (f_dir_create) {
        !          1356:                    if (dirneed(name) < 0 || mknod(name, (int) asb->sb_mode, 
        !          1357:                           (int) asb->sb_rdev) < 0) {
        !          1358:                        warn(name, strerror());
        !          1359: ***************
        !          1360: *** 245,251
        !          1361:                if (f_create_dirs) {
        !          1362:                    if (dirneed(name) < 0 || mknod(name, (int) asb->sb_mode, 
        !          1363:                           (int) asb->sb_rdev) < 0) {
        !          1364: !                      warn(name, syserr());
        !          1365:                        return (-1);
        !          1366:                    }
        !          1367:                } else {
        !          1368: 
        !          1369: --- 248,254 -----
        !          1370:                if (f_dir_create) {
        !          1371:                    if (dirneed(name) < 0 || mknod(name, (int) asb->sb_mode, 
        !          1372:                           (int) asb->sb_rdev) < 0) {
        !          1373: !                      warn(name, strerror());
        !          1374:                        return (-1);
        !          1375:                    }
        !          1376:                } else {
        !          1377: ***************
        !          1378: *** 252,258
        !          1379:                    warn(name, "Directories are not being created (-d option)");
        !          1380:                }
        !          1381:            } else {
        !          1382: !              warn(name, syserr());
        !          1383:                return (-1);
        !          1384:            }
        !          1385:        }
        !          1386: 
        !          1387: --- 255,261 -----
        !          1388:                    warn(name, "Directories are not being created (-d option)");
        !          1389:                }
        !          1390:            } else {
        !          1391: !              warn(name, strerror());
        !          1392:                return (-1);
        !          1393:            }
        !          1394:        }
        !          1395: ***************
        !          1396: *** 261,267
        !          1397:       case S_IFDIR:
        !          1398:        if (exists) {
        !          1399:            if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1400: !              warn(name, syserr());
        !          1401:                return (-1);
        !          1402:            }
        !          1403:        } else if (f_create_dirs) {
        !          1404: 
        !          1405: --- 264,270 -----
        !          1406:       case S_IFDIR:
        !          1407:        if (exists) {
        !          1408:            if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1409: !              warn(name, strerror());
        !          1410:                return (-1);
        !          1411:            }
        !          1412:        } else if (f_dir_create) {
        !          1413: ***************
        !          1414: *** 264,270
        !          1415:                warn(name, syserr());
        !          1416:                return (-1);
        !          1417:            }
        !          1418: !      } else if (f_create_dirs) {
        !          1419:            if (dirmake(name, asb) < 0 || dirneed(name) < 0) {
        !          1420:                warn(name, syserr());
        !          1421:                return (-1);
        !          1422: 
        !          1423: --- 267,273 -----
        !          1424:                warn(name, strerror());
        !          1425:                return (-1);
        !          1426:            }
        !          1427: !      } else if (f_dir_create) {
        !          1428:            if (dirmake(name, asb) < 0 || dirneed(name) < 0) {
        !          1429:                warn(name, strerror());
        !          1430:                return (-1);
        !          1431: ***************
        !          1432: *** 266,272
        !          1433:            }
        !          1434:        } else if (f_create_dirs) {
        !          1435:            if (dirmake(name, asb) < 0 || dirneed(name) < 0) {
        !          1436: !              warn(name, syserr());
        !          1437:                return (-1);
        !          1438:            }
        !          1439:        } else {
        !          1440: 
        !          1441: --- 269,275 -----
        !          1442:            }
        !          1443:        } else if (f_dir_create) {
        !          1444:            if (dirmake(name, asb) < 0 || dirneed(name) < 0) {
        !          1445: !              warn(name, strerror());
        !          1446:                return (-1);
        !          1447:            }
        !          1448:        } else {
        !          1449: ***************
        !          1450: *** 278,284
        !          1451:        fd = 0;
        !          1452:        if (exists) {
        !          1453:            if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1454: !              warn(name, syserr());
        !          1455:                return (-1);
        !          1456:            }
        !          1457:        } else if (mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1458: 
        !          1459: --- 281,287 -----
        !          1460:        fd = 0;
        !          1461:        if (exists) {
        !          1462:            if (perm != operm && chmod(name, (int) perm) < 0) {
        !          1463: !              warn(name, strerror());
        !          1464:                return (-1);
        !          1465:            }
        !          1466:        } else if (mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1467: ***************
        !          1468: *** 283,289
        !          1469:            }
        !          1470:        } else if (mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1471:            if (errno == ENOENT) {
        !          1472: !              if (f_create_dirs) {
        !          1473:                    if (dirneed(name) < 0
        !          1474:                       || mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1475:                        warn(name, syserr());
        !          1476: 
        !          1477: --- 286,292 -----
        !          1478:            }
        !          1479:        } else if (mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1480:            if (errno == ENOENT) {
        !          1481: !              if (f_dir_create) {
        !          1482:                    if (dirneed(name) < 0
        !          1483:                       || mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1484:                        warn(name, strerror());
        !          1485: ***************
        !          1486: *** 286,292
        !          1487:                if (f_create_dirs) {
        !          1488:                    if (dirneed(name) < 0
        !          1489:                       || mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1490: !                      warn(name, syserr());
        !          1491:                        return (-1);
        !          1492:                    }
        !          1493:                } else {
        !          1494: 
        !          1495: --- 289,295 -----
        !          1496:                if (f_dir_create) {
        !          1497:                    if (dirneed(name) < 0
        !          1498:                       || mknod(name, (int) asb->sb_mode, 0) < 0) {
        !          1499: !                      warn(name, strerror());
        !          1500:                        return (-1);
        !          1501:                    }
        !          1502:                } else {
        !          1503: ***************
        !          1504: *** 293,299
        !          1505:                    warn(name, "Directories are not being created (-d option)");
        !          1506:                }
        !          1507:            } else {
        !          1508: !              warn(name, syserr());
        !          1509:                return (-1);
        !          1510:            }
        !          1511:        }
        !          1512: 
        !          1513: --- 296,302 -----
        !          1514:                    warn(name, "Directories are not being created (-d option)");
        !          1515:                }
        !          1516:            } else {
        !          1517: !              warn(name, strerror());
        !          1518:                return (-1);
        !          1519:            }
        !          1520:        }
        !          1521: ***************
        !          1522: *** 304,310
        !          1523:       case S_IFLNK:
        !          1524:        if (exists) {
        !          1525:            if ((ssize = readlink(name, sname, sizeof(sname))) < 0) {
        !          1526: !              warn(name, syserr());
        !          1527:                return (-1);
        !          1528:            } else if (strncmp(sname, asb->sb_link, ssize) == 0) {
        !          1529:                return (0);
        !          1530: 
        !          1531: --- 307,313 -----
        !          1532:       case S_IFLNK:
        !          1533:        if (exists) {
        !          1534:            if ((ssize = readlink(name, sname, sizeof(sname))) < 0) {
        !          1535: !              warn(name, strerror());
        !          1536:                return (-1);
        !          1537:            } else if (strncmp(sname, asb->sb_link, ssize) == 0) {
        !          1538:                return (0);
        !          1539: ***************
        !          1540: *** 309,315
        !          1541:            } else if (strncmp(sname, asb->sb_link, ssize) == 0) {
        !          1542:                return (0);
        !          1543:            } else if (REMOVE(name, &osb) < 0) {
        !          1544: !              warn(name, syserr());
        !          1545:                return (-1);
        !          1546:            } else {
        !          1547:                exists = 0;
        !          1548: 
        !          1549: --- 312,318 -----
        !          1550:            } else if (strncmp(sname, asb->sb_link, ssize) == 0) {
        !          1551:                return (0);
        !          1552:            } else if (REMOVE(name, &osb) < 0) {
        !          1553: !              warn(name, strerror());
        !          1554:                return (-1);
        !          1555:            } else {
        !          1556:                exists = 0;
        !          1557: ***************
        !          1558: *** 317,323
        !          1559:        }
        !          1560:        if (symlink(asb->sb_link, name) < 0) {
        !          1561:            if (errno == ENOENT) {
        !          1562: !              if (f_create_dirs) {
        !          1563:                    if (dirneed(name) < 0 || symlink(asb->sb_link, name) < 0) {
        !          1564:                        warn(name, syserr());
        !          1565:                        return (-1);
        !          1566: 
        !          1567: --- 320,326 -----
        !          1568:        }
        !          1569:        if (symlink(asb->sb_link, name) < 0) {
        !          1570:            if (errno == ENOENT) {
        !          1571: !              if (f_dir_create) {
        !          1572:                    if (dirneed(name) < 0 || symlink(asb->sb_link, name) < 0) {
        !          1573:                        warn(name, strerror());
        !          1574:                        return (-1);
        !          1575: ***************
        !          1576: *** 319,325
        !          1577:            if (errno == ENOENT) {
        !          1578:                if (f_create_dirs) {
        !          1579:                    if (dirneed(name) < 0 || symlink(asb->sb_link, name) < 0) {
        !          1580: !                      warn(name, syserr());
        !          1581:                        return (-1);
        !          1582:                    }
        !          1583:                } else {
        !          1584: 
        !          1585: --- 322,328 -----
        !          1586:            if (errno == ENOENT) {
        !          1587:                if (f_dir_create) {
        !          1588:                    if (dirneed(name) < 0 || symlink(asb->sb_link, name) < 0) {
        !          1589: !                      warn(name, strerror());
        !          1590:                        return (-1);
        !          1591:                    }
        !          1592:                } else {
        !          1593: ***************
        !          1594: *** 326,332
        !          1595:                    warn(name, "Directories are not being created (-d option)");
        !          1596:                }
        !          1597:            } else {
        !          1598: !              warn(name, syserr());
        !          1599:                return (-1);
        !          1600:            }
        !          1601:        }
        !          1602: 
        !          1603: --- 329,335 -----
        !          1604:                    warn(name, "Directories are not being created (-d option)");
        !          1605:                }
        !          1606:            } else {
        !          1607: !              warn(name, strerror());
        !          1608:                return (-1);
        !          1609:            }
        !          1610:        }
        !          1611: ***************
        !          1612: *** 338,344
        !          1613:                warn(name, "Newer file exists");
        !          1614:                return (-1);
        !          1615:            } else if (unlink(name) < 0) {
        !          1616: !              warn(name, syserr());
        !          1617:                return (-1);
        !          1618:            } else {
        !          1619:                exists = 0;
        !          1620: 
        !          1621: --- 341,347 -----
        !          1622:                warn(name, "Newer file exists");
        !          1623:                return (-1);
        !          1624:            } else if (unlink(name) < 0) {
        !          1625: !              warn(name, strerror());
        !          1626:                return (-1);
        !          1627:            } else {
        !          1628:                exists = 0;
        !          1629: ***************
        !          1630: *** 346,352
        !          1631:        }
        !          1632:        if ((fd = creat(name, (int) perm)) < 0) {
        !          1633:            if (errno == ENOENT) {
        !          1634: !              if (f_create_dirs) {
        !          1635:                    if (dirneed(name) < 0 || 
        !          1636:                            (fd = creat(name, (int) perm)) < 0) {
        !          1637:                        warn(name, syserr());
        !          1638: 
        !          1639: --- 349,355 -----
        !          1640:        }
        !          1641:        if ((fd = creat(name, (int) perm)) < 0) {
        !          1642:            if (errno == ENOENT) {
        !          1643: !              if (f_dir_create) {
        !          1644:                    if (dirneed(name) < 0 || 
        !          1645:                            (fd = creat(name, (int) perm)) < 0) {
        !          1646:                        warn(name, strerror());
        !          1647: ***************
        !          1648: *** 349,355
        !          1649:                if (f_create_dirs) {
        !          1650:                    if (dirneed(name) < 0 || 
        !          1651:                            (fd = creat(name, (int) perm)) < 0) {
        !          1652: !                      warn(name, syserr());
        !          1653:                        return (-1);
        !          1654:                    }
        !          1655:                } else {
        !          1656: 
        !          1657: --- 352,358 -----
        !          1658:                if (f_dir_create) {
        !          1659:                    if (dirneed(name) < 0 || 
        !          1660:                            (fd = creat(name, (int) perm)) < 0) {
        !          1661: !                      warn(name, strerror());
        !          1662:                        return (-1);
        !          1663:                    }
        !          1664:                } else {
        !          1665: ***************
        !          1666: *** 362,368
        !          1667:                    return(0);
        !          1668:                }
        !          1669:            } else {
        !          1670: !              warn(name, syserr());
        !          1671:                return (-1);
        !          1672:            }
        !          1673:        }
        !          1674: 
        !          1675: --- 365,371 -----
        !          1676:                    return(0);
        !          1677:                }
        !          1678:            } else {
        !          1679: !              warn(name, strerror());
        !          1680:                return (-1);
        !          1681:            }
        !          1682:        }
        !          1683: ***************
        !          1684: *** 380,386
        !          1685:   }
        !          1686:   
        !          1687:   
        !          1688: ! /* openi - open the next input file
        !          1689:    *
        !          1690:    * DESCRIPTION
        !          1691:    *
        !          1692: 
        !          1693: --- 383,389 -----
        !          1694:   }
        !          1695:   
        !          1696:   
        !          1697: ! /* openin - open the next input file
        !          1698:    *
        !          1699:    * DESCRIPTION
        !          1700:    *
        !          1701: ***************
        !          1702: *** 407,413
        !          1703:   
        !          1704:   #ifdef __STDC__
        !          1705:   
        !          1706: ! int openi(char *name, Stat *asb)
        !          1707:   
        !          1708:   #else
        !          1709:       
        !          1710: 
        !          1711: --- 410,416 -----
        !          1712:   
        !          1713:   #ifdef __STDC__
        !          1714:   
        !          1715: ! int openin(char *name, Stat *asb)
        !          1716:   
        !          1717:   #else
        !          1718:       
        !          1719: ***************
        !          1720: *** 411,417
        !          1721:   
        !          1722:   #else
        !          1723:       
        !          1724: ! int openi(name, asb)
        !          1725:   char           *name;                /* name of file to open */
        !          1726:   Stat           *asb;         /* pointer to stat structure for file */
        !          1727:   
        !          1728: 
        !          1729: --- 414,420 -----
        !          1730:   
        !          1731:   #else
        !          1732:       
        !          1733: ! int openin(name, asb)
        !          1734:   char           *name;                /* name of file to open */
        !          1735:   Stat           *asb;         /* pointer to stat structure for file */
        !          1736:   
        !          1737: ***************
        !          1738: *** 428,434
        !          1739:       case S_IFLNK:
        !          1740:        if ((asb->sb_size = readlink(name,
        !          1741:                             asb->sb_link, sizeof(asb->sb_link) - 1)) < 0) {
        !          1742: !          warn(name, syserr());
        !          1743:            return(0);
        !          1744:        }
        !          1745:        asb->sb_link[asb->sb_size] = '\0';
        !          1746: 
        !          1747: --- 431,437 -----
        !          1748:       case S_IFLNK:
        !          1749:        if ((asb->sb_size = readlink(name,
        !          1750:                             asb->sb_link, sizeof(asb->sb_link) - 1)) < 0) {
        !          1751: !          warn(name, strerror());
        !          1752:            return(0);
        !          1753:        }
        !          1754:        asb->sb_link[asb->sb_size] = '\0';
        !          1755: ***************
        !          1756: *** 439,445
        !          1757:            return (0);
        !          1758:        }
        !          1759:        if ((fd = open(name, O_RDONLY | O_BINARY)) < 0) {
        !          1760: !          warn(name, syserr());
        !          1761:        }
        !          1762:        return (fd);
        !          1763:       default:
        !          1764: 
        !          1765: --- 442,448 -----
        !          1766:            return (0);
        !          1767:        }
        !          1768:        if ((fd = open(name, O_RDONLY | O_BINARY)) < 0) {
        !          1769: !          warn(name, strerror());
        !          1770:        }
        !          1771:        return (fd);
        !          1772:       default:
        !          1773: Index: func.h
        !          1774: *** /tmp/,RCSt1a17063  Sun Feb 12 14:06:40 1989
        !          1775: --- func.h     Sun Feb 12 14:02:09 1989
        !          1776: ***************
        !          1777: *** 1,6
        !          1778:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1779:    *
        !          1780: !  * $Revision: 1.1 $
        !          1781:    *
        !          1782:    * func.h - function type and argument declarations
        !          1783:    *
        !          1784: 
        !          1785: --- 1,6 -----
        !          1786:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1787:    *
        !          1788: !  * $Revision: 1.1 $
        !          1789:    *
        !          1790:    * func.h - function type and argument declarations
        !          1791:    *
        !          1792: ***************
        !          1793: *** 27,33
        !          1794:    *
        !          1795:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1796:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1797: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1798:    */
        !          1799:   
        !          1800:   #ifndef _PAX_FUNC_H
        !          1801: 
        !          1802: --- 27,33 -----
        !          1803:    *
        !          1804:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1805:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1806: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1807:    */
        !          1808:   
        !          1809:   #ifndef _PAX_FUNC_H
        !          1810: ***************
        !          1811: *** 41,47
        !          1812:   extern Link                 *linkto(char *, Stat *);
        !          1813:   extern char                 *mem_get(uint);
        !          1814:   extern char                 *mem_str(char *);
        !          1815: ! extern char                 *syserr(void);
        !          1816:   extern int           ar_read(void);
        !          1817:   extern int           buf_read(char *, uint);
        !          1818:   extern int           buf_skip(OFFSET);
        !          1819: 
        !          1820: --- 41,47 -----
        !          1821:   extern Link                 *linkto(char *, Stat *);
        !          1822:   extern char                 *mem_get(uint);
        !          1823:   extern char                 *mem_str(char *);
        !          1824: ! extern char                 *strerror(void);
        !          1825:   extern int           ar_read(void);
        !          1826:   extern int           buf_read(char *, uint);
        !          1827:   extern int           buf_skip(OFFSET);
        !          1828: ***************
        !          1829: *** 55,62
        !          1830:   extern int           nameopt(char *);
        !          1831:   extern int           open_archive(int);
        !          1832:   extern int           open_tty(void);
        !          1833: ! extern int           openi(char *, Stat *);
        !          1834: ! extern int           openo(char *, Stat *, Link *, int);
        !          1835:   extern int           pass(char *);
        !          1836:   extern int           passitem(char *, Stat *, int, char *);
        !          1837:   extern int           read_header(char *, Stat *);
        !          1838: 
        !          1839: --- 55,62 -----
        !          1840:   extern int           nameopt(char *);
        !          1841:   extern int           open_archive(int);
        !          1842:   extern int           open_tty(void);
        !          1843: ! extern int           openin(char *, Stat *);
        !          1844: ! extern int           openout(char *, Stat *, Link *, int);
        !          1845:   extern int           pass(char *);
        !          1846:   extern int           passitem(char *, Stat *, int, char *);
        !          1847:   extern int           read_header(char *, Stat *);
        !          1848: ***************
        !          1849: *** 86,91
        !          1850:   extern char            *finduname(int);
        !          1851:   extern char            *findgname(int);
        !          1852:   extern int           findgid(char *gname);
        !          1853:   
        !          1854:   #else /* !__STDC__ */
        !          1855:   
        !          1856: 
        !          1857: --- 86,92 -----
        !          1858:   extern char            *finduname(int);
        !          1859:   extern char            *findgname(int);
        !          1860:   extern int           findgid(char *gname);
        !          1861: + extern char                 *malloc();
        !          1862:   
        !          1863:   #else /* !__STDC__ */
        !          1864:   
        !          1865: ***************
        !          1866: *** 93,99
        !          1867:   extern Link                 *linkto();
        !          1868:   extern char                 *mem_get();
        !          1869:   extern char                 *mem_str();
        !          1870: ! extern char                 *syserr();
        !          1871:   extern int           ar_read();
        !          1872:   extern int           buf_read();
        !          1873:   extern int           buf_skip();
        !          1874: 
        !          1875: --- 94,100 -----
        !          1876:   extern Link                 *linkto();
        !          1877:   extern char                 *mem_get();
        !          1878:   extern char                 *mem_str();
        !          1879: ! extern char                 *strerror();
        !          1880:   extern int           ar_read();
        !          1881:   extern int           buf_read();
        !          1882:   extern int           buf_skip();
        !          1883: ***************
        !          1884: *** 107,114
        !          1885:   extern int           nameopt();
        !          1886:   extern int           open_archive();
        !          1887:   extern int           open_tty();
        !          1888: ! extern int           openi();
        !          1889: ! extern int           openo();
        !          1890:   extern int           pass();
        !          1891:   extern int           passitem();
        !          1892:   extern int                   read_header();
        !          1893: 
        !          1894: --- 108,115 -----
        !          1895:   extern int           nameopt();
        !          1896:   extern int           open_archive();
        !          1897:   extern int           open_tty();
        !          1898: ! extern int           openin();
        !          1899: ! extern int           openout();
        !          1900:   extern int           pass();
        !          1901:   extern int           passitem();
        !          1902:   extern int                   read_header();
        !          1903: Index: limits.h
        !          1904: *** /tmp/,RCSt1a17068  Sun Feb 12 14:06:46 1989
        !          1905: --- limits.h   Sun Feb 12 14:02:10 1989
        !          1906: ***************
        !          1907: *** 1,6
        !          1908:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1909:    *
        !          1910: !  * $Revision: 1.1 $
        !          1911:    *
        !          1912:    *   limits.h - POSIX compatible defnitions for some of <limits.h>
        !          1913:    *
        !          1914: 
        !          1915: --- 1,6 -----
        !          1916:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1917:    *
        !          1918: !  * $Revision: 1.1 $
        !          1919:    *
        !          1920:    *   limits.h - POSIX compatible defnitions for some of <limits.h>
        !          1921:    *
        !          1922: ***************
        !          1923: *** 37,43
        !          1924:    *
        !          1925:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1926:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1927: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1928:    */
        !          1929:   
        !          1930:   #ifndef _PAX_LIMITS_H
        !          1931: 
        !          1932: --- 37,43 -----
        !          1933:    *
        !          1934:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1935:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1936: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1937:    */
        !          1938:   
        !          1939:   #ifndef _PAX_LIMITS_H
        !          1940: Index: link.c
        !          1941: *** /tmp/,RCSt1a17073  Sun Feb 12 14:06:52 1989
        !          1942: --- link.c     Sun Feb 12 14:02:11 1989
        !          1943: ***************
        !          1944: *** 1,6
        !          1945:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1946:    *
        !          1947: !  * $Revision: 1.1 $
        !          1948:    *
        !          1949:    * link.c - functions for handling multiple file links 
        !          1950:    *
        !          1951: 
        !          1952: --- 1,6 -----
        !          1953:   /* $Source: /src386/usr/bin/pax/patch1,v $
        !          1954:    *
        !          1955: !  * $Revision: 1.1 $
        !          1956:    *
        !          1957:    * link.c - functions for handling multiple file links 
        !          1958:    *
        !          1959: ***************
        !          1960: *** 27,33
        !          1961:    *
        !          1962:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1963:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1964: !  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1965:    *
        !          1966:    * $Log:     patch1,v $
        !          1967: # Revision 1.1  92/08/28  08:02:28  bin
        !          1968: # Initial revision
        !          1969: # 
        !          1970:    * Revision 1.1  88/12/23  18:02:12  mark
        !          1971: 
        !          1972: --- 27,33 -----
        !          1973:    *
        !          1974:    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !          1975:    * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !          1976: !  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1977:    *
        !          1978:    * $Log:     patch1,v $
        !          1979: # Revision 1.1  92/08/28  08:02:28  bin
        !          1980: # Initial revision
        !          1981: # 
        !          1982:    * Revision 1.2  89/02/12  10:04:38  mark
        !          1983: ***************
        !          1984: *** 30,35
        !          1985:    * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1986:    *
        !          1987:    * $Log:     patch1,v $
        !          1988: # Revision 1.1  92/08/28  08:02:28  bin
        !          1989: # Initial revision
        !          1990: # 
        !          1991:    * Revision 1.1  88/12/23  18:02:12  mark
        !          1992:    * Initial revision
        !          1993:    * 
        !          1994: 
        !          1995: --- 30,38 -----
        !          1996:    * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !          1997:    *
        !          1998:    * $Log:     patch1,v $
        !          1999: # Revision 1.1  92/08/28  08:02:28  bin
        !          2000: # Initial revision
        !          2001: # 
        !          2002: +  * Revision 1.2  89/02/12  10:04:38  mark
        !          2003: +  * 1.2 release fixes
        !          2004: +  * 
        !          2005:    * Revision 1.1  88/12/23  18:02:12  mark
        !          2006:    * Initial revision
        !          2007:    * 
        !          2008: ***************
        !          2009: *** 36,42
        !          2010:    */
        !          2011:   
        !          2012:   #ifndef lint
        !          2013: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          2014:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          2015:   #endif /* ! lint */
        !          2016:   
        !          2017: 
        !          2018: --- 39,45 -----
        !          2019:    */
        !          2020:   
        !          2021:   #ifndef lint
        !          2022: ! static char *ident = "$Id: patch1,v 1.1 92/08/28 08:02:28 bin Exp Locker: bin $";
        !          2023:   static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n";
        !          2024:   #endif /* ! lint */
        !          2025:   
        !          2026: ***************
        !          2027: *** 116,122
        !          2028:                linkp->l_back->l_forw = linkp->l_forw;
        !          2029:            }
        !          2030:            free((char *) linkp);
        !          2031: !          *abase = (Link *) NULL;
        !          2032:        } else if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2033:            /* 
        !          2034:             * check to see if a file with the name "name" exists in the 
        !          2035: 
        !          2036: --- 119,125 -----
        !          2037:                linkp->l_back->l_forw = linkp->l_forw;
        !          2038:            }
        !          2039:            free((char *) linkp);
        !          2040: !          *abase = (Link *)NULL;
        !          2041:        } else if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2042:            /* 
        !          2043:             * check to see if a file with the name "name" exists in the 
        !          2044: ***************
        !          2045: *** 191,197
        !          2046:       for (linkp = *(LINKHASH(asb->sb_ino)); linkp; linkp = linknext) {
        !          2047:        if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2048:            if (strcmp(name, linkp->l_name) == 0) {
        !          2049: !              return ((Link *) NULL);
        !          2050:            } 
        !          2051:            return (linkp);
        !          2052:        } else {
        !          2053: 
        !          2054: --- 194,200 -----
        !          2055:       for (linkp = *(LINKHASH(asb->sb_ino)); linkp; linkp = linknext) {
        !          2056:        if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2057:            if (strcmp(name, linkp->l_name) == 0) {
        !          2058: !              return ((Link *)NULL);
        !          2059:            } 
        !          2060:            return (linkp);
        !          2061:        } else {
        !          2062: ***************
        !          2063: *** 243,251
        !          2064:   
        !          2065:       for (linkp = *(LINKHASH(asb->sb_ino)); linkp; linkp = linknext) {
        !          2066:        if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2067: !          if ((path = (Path *) mem_get(sizeof(Path))) == (Path *) NULL || 
        !          2068: !              (path->p_name = mem_str(name)) == (char *) NULL) {
        !          2069: !              return((Link *) NULL);
        !          2070:            }
        !          2071:            if (path->p_forw = linkp->l_path) {
        !          2072:                if (linkp->l_path->p_forw) {
        !          2073: 
        !          2074: --- 246,254 -----
        !          2075:   
        !          2076:       for (linkp = *(LINKHASH(asb->sb_ino)); linkp; linkp = linknext) {
        !          2077:        if (linkp->l_ino == asb->sb_ino && linkp->l_dev == asb->sb_dev) {
        !          2078: !          if ((path = (Path *) mem_get(sizeof(Path))) == (Path *)NULL || 
        !          2079: !              (path->p_name = mem_str(name)) == (char *)NULL) {
        !          2080: !              return((Link *)NULL);
        !          2081:            }
        !          2082:            if (path->p_forw = linkp->l_path) {
        !          2083:                if (linkp->l_path->p_forw) {
        !          2084: ***************
        !          2085: *** 254,260
        !          2086:            } else {
        !          2087:                linkp->l_path = path;
        !          2088:            }
        !          2089: !          path->p_back = (Path *) NULL;
        !          2090:            return(linkp);
        !          2091:        } else {
        !          2092:            linknext = linkp->l_forw;
        !          2093: 
        !          2094: --- 257,263 -----
        !          2095:            } else {
        !          2096:                linkp->l_path = path;
        !          2097:            }
        !          2098: !          path->p_back = (Path *)NULL;
        !          2099:            return(linkp);
        !          2100:        } else {
        !          2101:            linknext = linkp->l_forw;
        !          2102: ***************
        !          2103: *** 265,273
        !          2104:        */
        !          2105:   
        !          2106:       if ((asb->sb_mode & S_IFMT) == S_IFDIR
        !          2107: !      || (linkp = (Link *) mem_get(sizeof(Link))) == NULL
        !          2108: !      || (linkp->l_name = mem_str(name)) == NULL) {
        !          2109: !      return ((Link *) NULL);
        !          2110:       }
        !          2111:       linkp->l_dev = asb->sb_dev;
        !          2112:       linkp->l_ino = asb->sb_ino;
        !          2113: 
        !          2114: --- 268,276 -----
        !          2115:        */
        !          2116:   
        !          2117:       if ((asb->sb_mode & S_IFMT) == S_IFDIR
        !          2118: !      || (linkp = (Link *) mem_get(sizeof(Link))) == (Link *)NULL
        !          2119: !      || (linkp->l_name = mem_str(name)) == (char *)NULL) {
        !          2120: !      return ((Link *)NULL);
        !          2121:       }
        !          2122:       linkp->l_dev = asb->sb_dev;
        !          2123:       linkp->l_ino = asb->sb_ino;
        !          2124: ***************
        !          2125: *** 273,279
        !          2126:       linkp->l_ino = asb->sb_ino;
        !          2127:       linkp->l_nlink = asb->sb_nlink - 1;
        !          2128:       linkp->l_size = asb->sb_size;
        !          2129: !     linkp->l_path = (Path *) NULL;
        !          2130:       if (linkp->l_forw = *(abase = LINKHASH(asb->sb_ino))) {
        !          2131:        linkp->l_forw->l_back = linkp;
        !          2132:       } else {
        !          2133: 
        !          2134: --- 276,282 -----
        !          2135:       linkp->l_ino = asb->sb_ino;
        !          2136:       linkp->l_nlink = asb->sb_nlink - 1;
        !          2137:       linkp->l_size = asb->sb_size;
        !          2138: !     linkp->l_path = (Path *)NULL;
        !          2139:       if (linkp->l_forw = *(abase = LINKHASH(asb->sb_ino))) {
        !          2140:        linkp->l_forw->l_back = linkp;
        !          2141:       } else {
        !          2142: ***************
        !          2143: *** 279,285
        !          2144:       } else {
        !          2145:        *abase = linkp;
        !          2146:       }
        !          2147: !     linkp->l_back = NULL;
        !          2148:       return (linkp);
        !          2149:   }
        !          2150:   
        !          2151: 
        !          2152: --- 282,288 -----
        !          2153:       } else {
        !          2154:        *abase = linkp;
        !          2155:       }
        !          2156: !     linkp->l_back = (Link *)NULL;
        !          2157:       return (linkp);
        !          2158:   }
        !          2159:   

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.