Annotation of coherent/g/usr/bin/pax/misc/patch1, revision 1.1.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.