|
|
1.1 ! root 1: ! 2: Index: port.c ! 3: *** /tmp/,RCSt1a17133 Sun Feb 12 14:08:42 1989 ! 4: --- port.c Sun Feb 12 14:02:30 1989 ! 5: *************** ! 6: *** 1,6 ! 7: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 8: * ! 9: ! * $Revision: 1.1 $ ! 10: * ! 11: * port.c - These are routines not available in all environments. ! 12: * ! 13: ! 14: --- 1,6 ----- ! 15: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 16: * ! 17: ! * $Revision: 1.1 $ ! 18: * ! 19: * port.c - These are routines not available in all environments. ! 20: * ! 21: *************** ! 22: *** 30,36 ! 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: patch3,v $ ! 29: # Revision 1.1 92/08/28 08:02:40 bin ! 30: # Initial revision ! 31: # ! 32: * Revision 1.1 88/12/23 18:02:29 mark ! 33: ! 34: --- 30,36 ----- ! 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: patch3,v $ ! 41: # Revision 1.1 92/08/28 08:02:40 bin ! 42: # Initial revision ! 43: # ! 44: * Revision 1.2 89/02/12 10:05:35 mark ! 45: *************** ! 46: *** 33,38 ! 47: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 48: * ! 49: * $Log: patch3,v $ ! 50: # Revision 1.1 92/08/28 08:02:40 bin ! 51: # Initial revision ! 52: # ! 53: * Revision 1.1 88/12/23 18:02:29 mark ! 54: * Initial revision ! 55: * ! 56: ! 57: --- 33,41 ----- ! 58: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 59: * ! 60: * $Log: patch3,v $ ! 61: # Revision 1.1 92/08/28 08:02:40 bin ! 62: # Initial revision ! 63: # ! 64: + * Revision 1.2 89/02/12 10:05:35 mark ! 65: + * 1.2 release fixes ! 66: + * ! 67: * Revision 1.1 88/12/23 18:02:29 mark ! 68: * Initial revision ! 69: * ! 70: *************** ! 71: *** 39,45 ! 72: */ ! 73: ! 74: #ifndef lint ! 75: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 76: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 77: #endif /* ! lint */ ! 78: ! 79: ! 80: --- 42,48 ----- ! 81: */ ! 82: ! 83: #ifndef lint ! 84: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 85: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 86: #endif /* ! lint */ ! 87: ! 88: *************** ! 89: *** 55,62 ! 90: * the list in the #if !defined()'s below and it'll all be skipped. ! 91: */ ! 92: ! 93: ! #if !defined(mc300) && !defined(mc500) && !defined(mc700) && \ ! 94: ! !defined(BSD) ! 95: ! 96: /* mkdir - make a directory ! 97: * ! 98: ! 99: --- 58,64 ----- ! 100: * the list in the #if !defined()'s below and it'll all be skipped. ! 101: */ ! 102: ! 103: ! #if !defined(mc300) && !defined(mc500) && !defined(mc700) && !defined(BSD) ! 104: ! 105: /* mkdir - make a directory ! 106: * ! 107: Index: port.h ! 108: *** /tmp/,RCSt1a17138 Sun Feb 12 14:08:49 1989 ! 109: --- port.h Sun Feb 12 14:02:31 1989 ! 110: *************** ! 111: *** 1,6 ! 112: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 113: * ! 114: ! * $Revision: 1.1 $ ! 115: * ! 116: * port.h - defnitions for portability library ! 117: * ! 118: ! 119: --- 1,6 ----- ! 120: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 121: * ! 122: ! * $Revision: 1.1 $ ! 123: * ! 124: * port.h - defnitions for portability library ! 125: * ! 126: *************** ! 127: *** 30,36 ! 128: * ! 129: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 130: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 131: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 132: */ ! 133: ! 134: #ifndef _PAX_PORT_H ! 135: ! 136: --- 30,36 ----- ! 137: * ! 138: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 139: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 140: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 141: */ ! 142: ! 143: #ifndef _PAX_PORT_H ! 144: Index: regexp.c ! 145: *** /tmp/,RCSt1a17143 Sun Feb 12 14:08:58 1989 ! 146: --- regexp.c Sun Feb 12 14:02:34 1989 ! 147: *************** ! 148: *** 1,6 ! 149: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 150: * ! 151: ! * $Revision: 1.1 $ ! 152: * ! 153: * regexp.c - regular expression matching ! 154: * ! 155: ! 156: --- 1,6 ----- ! 157: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 158: * ! 159: ! * $Revision: 1.1 $ ! 160: * ! 161: * regexp.c - regular expression matching ! 162: * ! 163: *************** ! 164: *** 43,48 ! 165: * Sponsored by The USENIX Association for public distribution. ! 166: * ! 167: * $Log: patch3,v $ ! 168: # Revision 1.1 92/08/28 08:02:40 bin ! 169: # Initial revision ! 170: # ! 171: * Revision 1.1 88/12/23 18:02:32 mark ! 172: * Initial revision ! 173: * ! 174: ! 175: --- 43,51 ----- ! 176: * Sponsored by The USENIX Association for public distribution. ! 177: * ! 178: * $Log: patch3,v $ ! 179: # Revision 1.1 92/08/28 08:02:40 bin ! 180: # Initial revision ! 181: # ! 182: + * Revision 1.2 89/02/12 10:05:39 mark ! 183: + * 1.2 release fixes ! 184: + * ! 185: * Revision 1.1 88/12/23 18:02:32 mark ! 186: * Initial revision ! 187: * ! 188: *************** ! 189: *** 53,59 ! 190: #include "pax.h" ! 191: ! 192: #ifndef lint ! 193: ! static char *Ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 194: #endif ! 195: ! 196: ! 197: ! 198: --- 56,62 ----- ! 199: #include "pax.h" ! 200: ! 201: #ifndef lint ! 202: ! static char *Ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 203: #endif ! 204: ! 205: ! 206: *************** ! 207: *** 224,230 ! 208: int flags; ! 209: extern char *malloc(); ! 210: ! 211: ! if (exp == NULL) ! 212: FAIL("NULL argument"); ! 213: ! 214: /* First pass: determine size, legality. */ ! 215: ! 216: --- 227,233 ----- ! 217: int flags; ! 218: extern char *malloc(); ! 219: ! 220: ! if (exp == (char *)NULL) ! 221: FAIL("NULL argument"); ! 222: ! 223: /* First pass: determine size, legality. */ ! 224: *************** ! 225: *** 233,240 ! 226: regsize = 0L; ! 227: regcode = ®dummy; ! 228: regc(MAGIC); ! 229: ! if (reg(0, &flags) == NULL) ! 230: ! return (NULL); ! 231: ! 232: /* Small enough for pointer-storage convention? */ ! 233: if (regsize >= 32767L) /* Probably could be 65535L. */ ! 234: ! 235: --- 236,243 ----- ! 236: regsize = 0L; ! 237: regcode = ®dummy; ! 238: regc(MAGIC); ! 239: ! if (reg(0, &flags) == (char *)NULL) ! 240: ! return ((regexp *)NULL); ! 241: ! 242: /* Small enough for pointer-storage convention? */ ! 243: if (regsize >= 32767L) /* Probably could be 65535L. */ ! 244: *************** ! 245: *** 242,248 ! 246: ! 247: /* Allocate space. */ ! 248: r = (regexp *) malloc(sizeof(regexp) + (unsigned) regsize); ! 249: ! if (r == NULL) ! 250: FAIL("out of space"); ! 251: ! 252: /* Second pass: emit code. */ ! 253: ! 254: --- 245,251 ----- ! 255: ! 256: /* Allocate space. */ ! 257: r = (regexp *) malloc(sizeof(regexp) + (unsigned) regsize); ! 258: ! if (r == (regexp *) NULL) ! 259: FAIL("out of space"); ! 260: ! 261: /* Second pass: emit code. */ ! 262: *************** ! 263: *** 251,257 ! 264: regcode = r->program; ! 265: regc(MAGIC); ! 266: if (reg(0, &flags) == NULL) ! 267: ! return (NULL); ! 268: ! 269: /* Dig out information for optimizations. */ ! 270: r->regstart = '\0'; /* Worst-case defaults. */ ! 271: ! 272: --- 254,260 ----- ! 273: regcode = r->program; ! 274: regc(MAGIC); ! 275: if (reg(0, &flags) == NULL) ! 276: ! return ((regexp *) NULL); ! 277: ! 278: /* Dig out information for optimizations. */ ! 279: r->regstart = '\0'; /* Worst-case defaults. */ ! 280: *************** ! 281: *** 320,326 ! 282: regnpar++; ! 283: ret = regnode(OPEN + parno); ! 284: } else ! 285: ! ret = NULL; ! 286: ! 287: /* Pick up the branches, linking them together. */ ! 288: br = regbranch(&flags); ! 289: ! 290: --- 323,329 ----- ! 291: regnpar++; ! 292: ret = regnode(OPEN + parno); ! 293: } else ! 294: ! ret = (char *)NULL; ! 295: ! 296: /* Pick up the branches, linking them together. */ ! 297: br = regbranch(&flags); ! 298: *************** ! 299: *** 324,332 ! 300: ! 301: /* Pick up the branches, linking them together. */ ! 302: br = regbranch(&flags); ! 303: ! if (br == NULL) ! 304: ! return (NULL); ! 305: ! if (ret != NULL) ! 306: regtail(ret, br); /* OPEN -> first. */ ! 307: else ! 308: ret = br; ! 309: ! 310: --- 327,335 ----- ! 311: ! 312: /* Pick up the branches, linking them together. */ ! 313: br = regbranch(&flags); ! 314: ! if (br == (char *)NULL) ! 315: ! return ((char *)NULL); ! 316: ! if (ret != (char *)NULL) ! 317: regtail(ret, br); /* OPEN -> first. */ ! 318: else ! 319: ret = br; ! 320: *************** ! 321: *** 336,343 ! 322: while (*regparse == '|') { ! 323: regparse++; ! 324: br = regbranch(&flags); ! 325: ! if (br == NULL) ! 326: ! return (NULL); ! 327: regtail(ret, br); /* BRANCH -> BRANCH. */ ! 328: if (!(flags & HASWIDTH)) ! 329: *flagp &= ~HASWIDTH; ! 330: ! 331: --- 339,346 ----- ! 332: while (*regparse == '|') { ! 333: regparse++; ! 334: br = regbranch(&flags); ! 335: ! if (br == (char *)NULL) ! 336: ! return ((char *)NULL); ! 337: regtail(ret, br); /* BRANCH -> BRANCH. */ ! 338: if (!(flags & HASWIDTH)) ! 339: *flagp &= ~HASWIDTH; ! 340: *************** ! 341: *** 349,355 ! 342: regtail(ret, ender); ! 343: ! 344: /* Hook the tails of the branches to the closing node. */ ! 345: ! for (br = ret; br != NULL; br = regnext(br)) ! 346: regoptail(br, ender); ! 347: ! 348: /* Check for proper termination. */ ! 349: ! 350: --- 352,358 ----- ! 351: regtail(ret, ender); ! 352: ! 353: /* Hook the tails of the branches to the closing node. */ ! 354: ! for (br = ret; br != (char *)NULL; br = regnext(br)) ! 355: regoptail(br, ender); ! 356: ! 357: /* Check for proper termination. */ ! 358: *************** ! 359: *** 381,387 ! 360: *flagp = WORST; /* Tentatively. */ ! 361: ! 362: ret = regnode(BRANCH); ! 363: ! chain = NULL; ! 364: while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { ! 365: latest = regpiece(&flags); ! 366: if (latest == NULL) ! 367: ! 368: --- 384,390 ----- ! 369: *flagp = WORST; /* Tentatively. */ ! 370: ! 371: ret = regnode(BRANCH); ! 372: ! chain = (char *)NULL; ! 373: while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { ! 374: latest = regpiece(&flags); ! 375: if (latest == (char *)NULL) ! 376: *************** ! 377: *** 384,391 ! 378: chain = NULL; ! 379: while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { ! 380: latest = regpiece(&flags); ! 381: ! if (latest == NULL) ! 382: ! return (NULL); ! 383: *flagp |= flags & HASWIDTH; ! 384: if (chain == NULL) /* First piece. */ ! 385: *flagp |= flags & SPSTART; ! 386: ! 387: --- 387,394 ----- ! 388: chain = (char *)NULL; ! 389: while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { ! 390: latest = regpiece(&flags); ! 391: ! if (latest == (char *)NULL) ! 392: ! return ((char *)NULL); ! 393: *flagp |= flags & HASWIDTH; ! 394: if (chain == (char *)NULL) /* First piece. */ ! 395: *flagp |= flags & SPSTART; ! 396: *************** ! 397: *** 387,393 ! 398: if (latest == NULL) ! 399: return (NULL); ! 400: *flagp |= flags & HASWIDTH; ! 401: ! if (chain == NULL) /* First piece. */ ! 402: *flagp |= flags & SPSTART; ! 403: else ! 404: regtail(chain, latest); ! 405: ! 406: --- 390,396 ----- ! 407: if (latest == (char *)NULL) ! 408: return ((char *)NULL); ! 409: *flagp |= flags & HASWIDTH; ! 410: ! if (chain == (char *)NULL) /* First piece. */ ! 411: *flagp |= flags & SPSTART; ! 412: else ! 413: regtail(chain, latest); ! 414: *************** ! 415: *** 393,399 ! 416: regtail(chain, latest); ! 417: chain = latest; ! 418: } ! 419: ! if (chain == NULL) /* Loop ran zero times. */ ! 420: regnode(NOTHING); ! 421: ! 422: return (ret); ! 423: ! 424: --- 396,402 ----- ! 425: regtail(chain, latest); ! 426: chain = latest; ! 427: } ! 428: ! if (chain == (char *)NULL) /* Loop ran zero times. */ ! 429: regnode(NOTHING); ! 430: ! 431: return (ret); ! 432: *************** ! 433: *** 416,423 ! 434: int flags; ! 435: ! 436: ret = regatom(&flags); ! 437: ! if (ret == NULL) ! 438: ! return (NULL); ! 439: ! 440: op = *regparse; ! 441: if (!ISMULT(op)) { ! 442: ! 443: --- 419,426 ----- ! 444: int flags; ! 445: ! 446: ret = regatom(&flags); ! 447: ! if (ret == (char *)NULL) ! 448: ! return ((char *)NULL); ! 449: ! 450: op = *regparse; ! 451: if (!ISMULT(op)) { ! 452: *************** ! 453: *** 509,516 ! 454: break; ! 455: case '(': ! 456: ret = reg(1, &flags); ! 457: ! if (ret == NULL) ! 458: ! return (NULL); ! 459: *flagp |= flags & (HASWIDTH | SPSTART); ! 460: break; ! 461: case '\0': ! 462: ! 463: --- 512,519 ----- ! 464: break; ! 465: case '(': ! 466: ret = reg(1, &flags); ! 467: ! if (ret == (char *)NULL) ! 468: ! return ((char *)NULL); ! 469: *flagp |= flags & (HASWIDTH | SPSTART); ! 470: break; ! 471: case '\0': ! 472: *************** ! 473: *** 638,644 ! 474: scan = p; ! 475: for (;;) { ! 476: temp = regnext(scan); ! 477: ! if (temp == NULL) ! 478: break; ! 479: scan = temp; ! 480: } ! 481: ! 482: --- 641,647 ----- ! 483: scan = p; ! 484: for (;;) { ! 485: temp = regnext(scan); ! 486: ! if (temp == (char *)NULL) ! 487: break; ! 488: scan = temp; ! 489: } ! 490: *************** ! 491: *** 659,665 ! 492: char *val; ! 493: { ! 494: /* "Operandless" and "op != BRANCH" are synonymous in practice. */ ! 495: ! if (p == NULL || p == ®dummy || OP(p) != BRANCH) ! 496: return; ! 497: regtail(OPERAND(p), val); ! 498: } ! 499: ! 500: --- 662,668 ----- ! 501: char *val; ! 502: { ! 503: /* "Operandless" and "op != BRANCH" are synonymous in practice. */ ! 504: ! if (p == (char *)NULL || p == ®dummy || OP(p) != BRANCH) ! 505: return; ! 506: regtail(OPERAND(p), val); ! 507: } ! 508: *************** ! 509: *** 699,705 ! 510: register char *s; ! 511: ! 512: /* Be paranoid... */ ! 513: ! if (prog == NULL || string == NULL) { ! 514: regerror("NULL parameter"); ! 515: return (0); ! 516: } ! 517: ! 518: --- 702,708 ----- ! 519: register char *s; ! 520: ! 521: /* Be paranoid... */ ! 522: ! if (prog == (regexp *)NULL || string == (char *)NULL) { ! 523: regerror("NULL parameter"); ! 524: return (0); ! 525: } ! 526: *************** ! 527: *** 709,715 ! 528: return (0); ! 529: } ! 530: /* If there is a "must appear" string, look for it. */ ! 531: ! if (prog->regmust != NULL) { ! 532: s = string; ! 533: while ((s = strchr(s, prog->regmust[0])) != NULL) { ! 534: if (strncmp(s, prog->regmust, prog->regmlen) == 0) ! 535: ! 536: --- 712,718 ----- ! 537: return (0); ! 538: } ! 539: /* If there is a "must appear" string, look for it. */ ! 540: ! if (prog->regmust != (char *)NULL) { ! 541: s = string; ! 542: while ((s = strchr(s, prog->regmust[0])) != (char *)NULL) { ! 543: if (strncmp(s, prog->regmust, prog->regmlen) == 0) ! 544: *************** ! 545: *** 711,717 ! 546: /* If there is a "must appear" string, look for it. */ ! 547: if (prog->regmust != NULL) { ! 548: s = string; ! 549: ! while ((s = strchr(s, prog->regmust[0])) != NULL) { ! 550: if (strncmp(s, prog->regmust, prog->regmlen) == 0) ! 551: break; /* Found it. */ ! 552: s++; ! 553: ! 554: --- 714,720 ----- ! 555: /* If there is a "must appear" string, look for it. */ ! 556: if (prog->regmust != (char *)NULL) { ! 557: s = string; ! 558: ! while ((s = strchr(s, prog->regmust[0])) != (char *)NULL) { ! 559: if (strncmp(s, prog->regmust, prog->regmlen) == 0) ! 560: break; /* Found it. */ ! 561: s++; ! 562: *************** ! 563: *** 716,722 ! 564: break; /* Found it. */ ! 565: s++; ! 566: } ! 567: ! if (s == NULL) /* Not present. */ ! 568: return (0); ! 569: } ! 570: /* Mark beginning of line for ^ . */ ! 571: ! 572: --- 719,725 ----- ! 573: break; /* Found it. */ ! 574: s++; ! 575: } ! 576: ! if (s == (char *)NULL) /* Not present. */ ! 577: return (0); ! 578: } ! 579: /* Mark beginning of line for ^ . */ ! 580: *************** ! 581: *** 730,736 ! 582: s = string; ! 583: if (prog->regstart != '\0') ! 584: /* We know what char it must start with. */ ! 585: ! while ((s = strchr(s, prog->regstart)) != NULL) { ! 586: if (regtry(prog, s)) ! 587: return (1); ! 588: s++; ! 589: ! 590: --- 733,739 ----- ! 591: s = string; ! 592: if (prog->regstart != '\0') ! 593: /* We know what char it must start with. */ ! 594: ! while ((s = strchr(s, prog->regstart)) != (char *)NULL) { ! 595: if (regtry(prog, s)) ! 596: return (1); ! 597: s++; ! 598: *************** ! 599: *** 772,779 ! 600: sp = prog->startp; ! 601: ep = prog->endp; ! 602: for (i = NSUBEXP; i > 0; i--) { ! 603: ! *sp++ = NULL; ! 604: ! *ep++ = NULL; ! 605: } ! 606: if (regmatch(prog->program + 1)) { ! 607: prog->startp[0] = string; ! 608: ! 609: --- 775,782 ----- ! 610: sp = prog->startp; ! 611: ep = prog->endp; ! 612: for (i = NSUBEXP; i > 0; i--) { ! 613: ! *sp++ = (char *)NULL; ! 614: ! *ep++ = (char *)NULL; ! 615: } ! 616: if (regmatch(prog->program + 1)) { ! 617: prog->startp[0] = string; ! 618: *************** ! 619: *** 809,815 ! 620: ! 621: scan = prog; ! 622: #ifdef DEBUG ! 623: ! if (scan != NULL && regnarrate) ! 624: fprintf(stderr, "%s(\n", regprop(scan)); ! 625: #endif ! 626: while (scan != NULL) { ! 627: ! 628: --- 812,818 ----- ! 629: ! 630: scan = prog; ! 631: #ifdef DEBUG ! 632: ! if (scan != (char *)NULL && regnarrate) ! 633: fprintf(stderr, "%s(\n", regprop(scan)); ! 634: #endif ! 635: while (scan != (char *)NULL) { ! 636: *************** ! 637: *** 812,818 ! 638: if (scan != NULL && regnarrate) ! 639: fprintf(stderr, "%s(\n", regprop(scan)); ! 640: #endif ! 641: ! while (scan != NULL) { ! 642: #ifdef DEBUG ! 643: if (regnarrate) ! 644: fprintf(stderr, "%s...\n", regprop(scan)); ! 645: ! 646: --- 815,821 ----- ! 647: if (scan != (char *)NULL && regnarrate) ! 648: fprintf(stderr, "%s(\n", regprop(scan)); ! 649: #endif ! 650: ! while (scan != (char *)NULL) { ! 651: #ifdef DEBUG ! 652: if (regnarrate) ! 653: fprintf(stderr, "%s...\n", regprop(scan)); ! 654: *************** ! 655: *** 848,854 ! 656: } ! 657: break; ! 658: case ANYOF: ! 659: ! if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) == NULL) ! 660: return (0); ! 661: reginput++; ! 662: break; ! 663: ! 664: --- 851,858 ----- ! 665: } ! 666: break; ! 667: case ANYOF: ! 668: ! if (*reginput == '\0' || ! 669: ! strchr(OPERAND(scan), *reginput) == (char *)NULL) ! 670: return (0); ! 671: reginput++; ! 672: break; ! 673: *************** ! 674: *** 853,859 ! 675: reginput++; ! 676: break; ! 677: case ANYBUT: ! 678: ! if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) != NULL) ! 679: return (0); ! 680: reginput++; ! 681: break; ! 682: ! 683: --- 857,864 ----- ! 684: reginput++; ! 685: break; ! 686: case ANYBUT: ! 687: ! if (*reginput == '\0' || ! 688: ! strchr(OPERAND(scan), *reginput) != (char *)NULL) ! 689: return (0); ! 690: reginput++; ! 691: break; ! 692: *************** ! 693: *** 881,887 ! 694: * Don't set startp if some later invocation of the same ! 695: * parentheses already has. ! 696: */ ! 697: ! if (regstartp[no] == NULL) ! 698: regstartp[no] = save; ! 699: return (1); ! 700: } else ! 701: ! 702: --- 886,892 ----- ! 703: * Don't set startp if some later invocation of the same ! 704: * parentheses already has. ! 705: */ ! 706: ! if (regstartp[no] == (char *)NULL) ! 707: regstartp[no] = save; ! 708: return (1); ! 709: } else ! 710: *************** ! 711: *** 908,914 ! 712: * Don't set endp if some later invocation of the same ! 713: * parentheses already has. ! 714: */ ! 715: ! if (regendp[no] == NULL) ! 716: regendp[no] = save; ! 717: return (1); ! 718: } else ! 719: ! 720: --- 913,919 ----- ! 721: * Don't set endp if some later invocation of the same ! 722: * parentheses already has. ! 723: */ ! 724: ! if (regendp[no] == (char *)NULL) ! 725: regendp[no] = save; ! 726: return (1); ! 727: } else ! 728: *************** ! 729: *** 927,933 ! 730: return (1); ! 731: reginput = save; ! 732: scan = regnext(scan); ! 733: ! } while (scan != NULL && OP(scan) == BRANCH); ! 734: return (0); ! 735: /* NOTREACHED */ ! 736: } ! 737: ! 738: --- 932,938 ----- ! 739: return (1); ! 740: reginput = save; ! 741: scan = regnext(scan); ! 742: ! } while (scan != (char *)NULL && OP(scan) == BRANCH); ! 743: return (0); ! 744: /* NOTREACHED */ ! 745: } ! 746: *************** ! 747: *** 937,943 ! 748: register char nextch; ! 749: register int no; ! 750: register char *save; ! 751: ! register int min; ! 752: ! 753: /* ! 754: * Lookahead to avoid useless match attempts when we know ! 755: ! 756: --- 942,948 ----- ! 757: register char nextch; ! 758: register int no; ! 759: register char *save; ! 760: ! register int minimum; ! 761: ! 762: /* ! 763: * Lookahead to avoid useless match attempts when we know ! 764: *************** ! 765: *** 946,952 ! 766: nextch = '\0'; ! 767: if (OP(nxt) == EXACTLY) ! 768: nextch = *OPERAND(nxt); ! 769: ! min = (OP(scan) == STAR) ? 0 : 1; ! 770: save = reginput; ! 771: no = regrepeat(OPERAND(scan)); ! 772: while (no >= min) { ! 773: ! 774: --- 951,957 ----- ! 775: nextch = '\0'; ! 776: if (OP(nxt) == EXACTLY) ! 777: nextch = *OPERAND(nxt); ! 778: ! minimum = (OP(scan) == STAR) ? 0 : 1; ! 779: save = reginput; ! 780: no = regrepeat(OPERAND(scan)); ! 781: while (no >= minimum) { ! 782: *************** ! 783: *** 949,955 ! 784: min = (OP(scan) == STAR) ? 0 : 1; ! 785: save = reginput; ! 786: no = regrepeat(OPERAND(scan)); ! 787: ! while (no >= min) { ! 788: /* If it could work, try it. */ ! 789: if (nextch == '\0' || *reginput == nextch) ! 790: if (regmatch(nxt)) ! 791: ! 792: --- 954,960 ----- ! 793: minimum = (OP(scan) == STAR) ? 0 : 1; ! 794: save = reginput; ! 795: no = regrepeat(OPERAND(scan)); ! 796: ! while (no >= minimum) { ! 797: /* If it could work, try it. */ ! 798: if (nextch == '\0' || *reginput == nextch) ! 799: if (regmatch(nxt)) ! 800: *************** ! 801: *** 1013,1019 ! 802: } ! 803: break; ! 804: case ANYOF: ! 805: ! while (*scan != '\0' && strchr(opnd, *scan) != NULL) { ! 806: count++; ! 807: scan++; ! 808: } ! 809: ! 810: --- 1018,1024 ----- ! 811: } ! 812: break; ! 813: case ANYOF: ! 814: ! while (*scan != '\0' && strchr(opnd, *scan) != (char *)NULL) { ! 815: count++; ! 816: scan++; ! 817: } ! 818: *************** ! 819: *** 1019,1025 ! 820: } ! 821: break; ! 822: case ANYBUT: ! 823: ! while (*scan != '\0' && strchr(opnd, *scan) == NULL) { ! 824: count++; ! 825: scan++; ! 826: } ! 827: ! 828: --- 1024,1030 ----- ! 829: } ! 830: break; ! 831: case ANYBUT: ! 832: ! while (*scan != '\0' && strchr(opnd, *scan) == (char *)NULL) { ! 833: count++; ! 834: scan++; ! 835: } ! 836: *************** ! 837: *** 1052,1058 ! 838: register int offset; ! 839: ! 840: if (p == ®dummy) ! 841: ! return (NULL); ! 842: ! 843: offset = NEXT(p); ! 844: if (offset == 0) ! 845: ! 846: --- 1057,1063 ----- ! 847: register int offset; ! 848: ! 849: if (p == ®dummy) ! 850: ! return ((char *)NULL); ! 851: ! 852: offset = NEXT(p); ! 853: if (offset == 0) ! 854: *************** ! 855: *** 1056,1062 ! 856: ! 857: offset = NEXT(p); ! 858: if (offset == 0) ! 859: ! return (NULL); ! 860: ! 861: if (OP(p) == BACK) ! 862: return (p - offset); ! 863: ! 864: --- 1061,1067 ----- ! 865: ! 866: offset = NEXT(p); ! 867: if (offset == 0) ! 868: ! return ((char *)NULL); ! 869: ! 870: if (OP(p) == BACK) ! 871: return (p - offset); ! 872: *************** ! 873: *** 1093,1099 ! 874: op = OP(s); ! 875: printf("%2d%s", s - r->program, regprop(s)); /* Where, what. */ ! 876: nxt = regnext(s); ! 877: ! if (nxt == NULL) /* nxt ptr. */ ! 878: printf("(0)"); ! 879: else ! 880: printf("(%d)", (s - r->program) + (nxt - s)); ! 881: ! 882: --- 1098,1104 ----- ! 883: op = OP(s); ! 884: printf("%2d%s", s - r->program, regprop(s)); /* Where, what. */ ! 885: nxt = regnext(s); ! 886: ! if (nxt == (char *)NULL) /* nxt ptr. */ ! 887: printf("(0)"); ! 888: else ! 889: printf("(%d)", (s - r->program) + (nxt - s)); ! 890: *************** ! 891: *** 1114,1120 ! 892: printf("start `%c' ", r->regstart); ! 893: if (r->reganch) ! 894: printf("anchored "); ! 895: ! if (r->regmust != NULL) ! 896: printf("must have \"%s\"", r->regmust); ! 897: printf("\n"); ! 898: } ! 899: ! 900: --- 1119,1125 ----- ! 901: printf("start `%c' ", r->regstart); ! 902: if (r->reganch) ! 903: printf("anchored "); ! 904: ! if (r->regmust != (char *)NULL) ! 905: printf("must have \"%s\"", r->regmust); ! 906: printf("\n"); ! 907: } ! 908: *************** ! 909: *** 1179,1185 ! 910: case OPEN + 8: ! 911: case OPEN + 9: ! 912: sprintf(buf + strlen(buf), "OPEN%d", OP(op) - OPEN); ! 913: ! p = NULL; ! 914: break; ! 915: case CLOSE + 1: ! 916: case CLOSE + 2: ! 917: ! 918: --- 1184,1190 ----- ! 919: case OPEN + 8: ! 920: case OPEN + 9: ! 921: sprintf(buf + strlen(buf), "OPEN%d", OP(op) - OPEN); ! 922: ! p = (char *)NULL; ! 923: break; ! 924: case CLOSE + 1: ! 925: case CLOSE + 2: ! 926: *************** ! 927: *** 1191,1197 ! 928: case CLOSE + 8: ! 929: case CLOSE + 9: ! 930: sprintf(buf + strlen(buf), "CLOSE%d", OP(op) - CLOSE); ! 931: ! p = NULL; ! 932: break; ! 933: case STAR: ! 934: p = "STAR"; ! 935: ! 936: --- 1196,1202 ----- ! 937: case CLOSE + 8: ! 938: case CLOSE + 9: ! 939: sprintf(buf + strlen(buf), "CLOSE%d", OP(op) - CLOSE); ! 940: ! p = (char *)NULL; ! 941: break; ! 942: case STAR: ! 943: p = "STAR"; ! 944: *************** ! 945: *** 1200,1206 ! 946: regerror("corrupted opcode"); ! 947: break; ! 948: } ! 949: ! if (p != NULL) ! 950: strcat(buf, p); ! 951: return (buf); ! 952: } ! 953: ! 954: --- 1205,1211 ----- ! 955: regerror("corrupted opcode"); ! 956: break; ! 957: } ! 958: ! if (p != (char *)NULL) ! 959: strcat(buf, p); ! 960: return (buf); ! 961: } ! 962: *************** ! 963: *** 1269,1275 ! 964: register int len; ! 965: extern char *strncpy(); ! 966: ! 967: ! if (prog == NULL || source == NULL || dest == NULL) { ! 968: regerror("NULL parm to regsub"); ! 969: return; ! 970: } ! 971: ! 972: --- 1274,1281 ----- ! 973: register int len; ! 974: extern char *strncpy(); ! 975: ! 976: ! if (prog == (regexp *)NULL || ! 977: ! source == (char *)NULL || dest == (char *)NULL) { ! 978: regerror("NULL parm to regsub"); ! 979: return; ! 980: } ! 981: *************** ! 982: *** 1291,1297 ! 983: if (c == '\\' && (*src == '\\' || *src == '&')) ! 984: c = *src++; ! 985: *dst++ = c; ! 986: ! } else if (prog->startp[no] != NULL && prog->endp[no] != NULL) { ! 987: len = prog->endp[no] - prog->startp[no]; ! 988: strncpy(dst, prog->startp[no], len); ! 989: dst += len; ! 990: ! 991: --- 1297,1304 ----- ! 992: if (c == '\\' && (*src == '\\' || *src == '&')) ! 993: c = *src++; ! 994: *dst++ = c; ! 995: ! } else if (prog->startp[no] != (char *)NULL && ! 996: ! prog->endp[no] != (char *)NULL) { ! 997: len = prog->endp[no] - prog->startp[no]; ! 998: strncpy(dst, prog->startp[no], len); ! 999: dst += len; ! 1000: Index: replace.c ! 1001: *** /tmp/,RCSt1a17153 Sun Feb 12 14:09:24 1989 ! 1002: --- replace.c Sun Feb 12 14:02:36 1989 ! 1003: *************** ! 1004: *** 1,6 ! 1005: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1006: * ! 1007: ! * $Revision: 1.1 $ ! 1008: * ! 1009: * replace.c - regular expression pattern replacement functions ! 1010: * ! 1011: ! 1012: --- 1,6 ----- ! 1013: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1014: * ! 1015: ! * $Revision: 1.1 $ ! 1016: * ! 1017: * replace.c - regular expression pattern replacement functions ! 1018: * ! 1019: *************** ! 1020: *** 27,33 ! 1021: * ! 1022: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1023: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1024: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1025: * ! 1026: * $Log: patch3,v $ ! 1027: # Revision 1.1 92/08/28 08:02:40 bin ! 1028: # Initial revision ! 1029: # ! 1030: * Revision 1.1 88/12/23 18:02:36 mark ! 1031: ! 1032: --- 27,33 ----- ! 1033: * ! 1034: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1035: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1036: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1037: * ! 1038: * $Log: patch3,v $ ! 1039: # Revision 1.1 92/08/28 08:02:40 bin ! 1040: # Initial revision ! 1041: # ! 1042: * Revision 1.2 89/02/12 10:05:59 mark ! 1043: *************** ! 1044: *** 30,35 ! 1045: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1046: * ! 1047: * $Log: patch3,v $ ! 1048: # Revision 1.1 92/08/28 08:02:40 bin ! 1049: # Initial revision ! 1050: # ! 1051: * Revision 1.1 88/12/23 18:02:36 mark ! 1052: * Initial revision ! 1053: * ! 1054: ! 1055: --- 30,38 ----- ! 1056: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1057: * ! 1058: * $Log: patch3,v $ ! 1059: # Revision 1.1 92/08/28 08:02:40 bin ! 1060: # Initial revision ! 1061: # ! 1062: + * Revision 1.2 89/02/12 10:05:59 mark ! 1063: + * 1.2 release fixes ! 1064: + * ! 1065: * Revision 1.1 88/12/23 18:02:36 mark ! 1066: * Initial revision ! 1067: * ! 1068: *************** ! 1069: *** 36,42 ! 1070: */ ! 1071: ! 1072: #ifndef lint ! 1073: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1074: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1075: #endif /* not lint */ ! 1076: ! 1077: ! 1078: --- 39,45 ----- ! 1079: */ ! 1080: ! 1081: #ifndef lint ! 1082: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1083: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1084: #endif /* not lint */ ! 1085: ! 1086: *************** ! 1087: *** 78,84 ! 1088: "Malformed substitution syntax"); ! 1089: return; ! 1090: } ! 1091: ! if ((rptr = (Replstr *) malloc(sizeof(Replstr))) == NULL) { ! 1092: warn("Replacement string not added", "No space"); ! 1093: return; ! 1094: } ! 1095: ! 1096: --- 81,87 ----- ! 1097: "Malformed substitution syntax"); ! 1098: return; ! 1099: } ! 1100: ! if ((rptr = (Replstr *) malloc(sizeof(Replstr))) == (Replstr *)NULL) { ! 1101: warn("Replacement string not added", "No space"); ! 1102: return; ! 1103: } ! 1104: *************** ! 1105: *** 130,136 ! 1106: * Now pattern points to 'old' and p points to 'new' and both are '\0' ! 1107: * terminated ! 1108: */ ! 1109: ! if ((rptr->comp = regcomp(pattern)) == NULL) { ! 1110: warn("Replacement string not added", "Invalid RE"); ! 1111: free(rptr); ! 1112: return; ! 1113: ! 1114: --- 133,139 ----- ! 1115: * Now pattern points to 'old' and p points to 'new' and both are '\0' ! 1116: * terminated ! 1117: */ ! 1118: ! if ((rptr->comp = regcomp(pattern)) == (regexp *)NULL) { ! 1119: warn("Replacement string not added", "Invalid RE"); ! 1120: free(rptr); ! 1121: return; ! 1122: *************** ! 1123: *** 136,143 ! 1124: return; ! 1125: } ! 1126: rptr->replace = p; ! 1127: ! rptr->next = NULL; ! 1128: ! if (rplhead == NULL) { ! 1129: rplhead = rptr; ! 1130: rpltail = rptr; ! 1131: } else { ! 1132: ! 1133: --- 139,146 ----- ! 1134: return; ! 1135: } ! 1136: rptr->replace = p; ! 1137: ! rptr->next = (Replstr *)NULL; ! 1138: ! if (rplhead == (Replstr *)NULL) { ! 1139: rplhead = rptr; ! 1140: rpltail = rptr; ! 1141: } else { ! 1142: *************** ! 1143: *** 182,188 ! 1144: char *b; ! 1145: ! 1146: strcpy(buff, name); ! 1147: ! for (rptr = rplhead; !found && rptr != NULL; rptr = rptr->next) { ! 1148: do { ! 1149: if ((ret = regexec(rptr->comp, buff)) != 0) { ! 1150: p = buff; ! 1151: ! 1152: --- 185,191 ----- ! 1153: char *b; ! 1154: ! 1155: strcpy(buff, name); ! 1156: ! for (rptr = rplhead; !found && rptr != (Replstr *)NULL; rptr = rptr->next) { ! 1157: do { ! 1158: if ((ret = regexec(rptr->comp, buff)) != 0) { ! 1159: p = buff; ! 1160: Index: tar.1 ! 1161: *** /tmp/,RCSt1a17158 Sun Feb 12 14:09:31 1989 ! 1162: --- tar.1 Sun Feb 12 14:02:37 1989 ! 1163: *************** ! 1164: *** 1,4 ! 1165: ! .\" $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 1166: .TH TAR 1 "USENIX Association" "" ! 1167: .SH NAME ! 1168: tar \- process tape archives ! 1169: ! 1170: --- 1,4 ----- ! 1171: ! .\" $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 1172: .TH TAR 1 "USENIX Association" "" ! 1173: .SH NAME ! 1174: tar \- process tape archives ! 1175: *************** ! 1176: *** 178,184 ! 1177: .PP ! 1178: THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1179: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1180: ! WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1181: .SH AUTHOR ! 1182: Mark H. Colburn ! 1183: .br ! 1184: ! 1185: --- 178,184 ----- ! 1186: .PP ! 1187: THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1188: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1189: ! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1190: .SH AUTHOR ! 1191: Mark H. Colburn ! 1192: .br ! 1193: Index: tar.c ! 1194: *** /tmp/,RCSt1a17163 Sun Feb 12 14:09:37 1989 ! 1195: --- tar.c Sun Feb 12 14:02:38 1989 ! 1196: *************** ! 1197: *** 1,6 ! 1198: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1199: * ! 1200: ! * $Revision: 1.1 $ ! 1201: * ! 1202: * tar.c - tar specific functions for archive handling ! 1203: * ! 1204: ! 1205: --- 1,6 ----- ! 1206: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1207: * ! 1208: ! * $Revision: 1.1 $ ! 1209: * ! 1210: * tar.c - tar specific functions for archive handling ! 1211: * ! 1212: *************** ! 1213: *** 27,33 ! 1214: * ! 1215: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1216: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1217: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1218: * ! 1219: * $Log: patch3,v $ ! 1220: # Revision 1.1 92/08/28 08:02:40 bin ! 1221: # Initial revision ! 1222: # ! 1223: * Revision 1.1 88/12/23 18:02:38 mark ! 1224: ! 1225: --- 27,33 ----- ! 1226: * ! 1227: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1228: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1229: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1230: * ! 1231: * $Log: patch3,v $ ! 1232: # Revision 1.1 92/08/28 08:02:40 bin ! 1233: # Initial revision ! 1234: # ! 1235: * Revision 1.2 89/02/12 10:06:05 mark ! 1236: *************** ! 1237: *** 30,35 ! 1238: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1239: * ! 1240: * $Log: patch3,v $ ! 1241: # Revision 1.1 92/08/28 08:02:40 bin ! 1242: # Initial revision ! 1243: # ! 1244: * Revision 1.1 88/12/23 18:02:38 mark ! 1245: * Initial revision ! 1246: * ! 1247: ! 1248: --- 30,38 ----- ! 1249: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1250: * ! 1251: * $Log: patch3,v $ ! 1252: # Revision 1.1 92/08/28 08:02:40 bin ! 1253: # Initial revision ! 1254: # ! 1255: + * Revision 1.2 89/02/12 10:06:05 mark ! 1256: + * 1.2 release fixes ! 1257: + * ! 1258: * Revision 1.1 88/12/23 18:02:38 mark ! 1259: * Initial revision ! 1260: * ! 1261: *************** ! 1262: *** 36,42 ! 1263: */ ! 1264: ! 1265: #ifndef lint ! 1266: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1267: static char *copyright ="Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved."; ! 1268: #endif /* not lint */ ! 1269: ! 1270: ! 1271: --- 39,45 ----- ! 1272: */ ! 1273: ! 1274: #ifndef lint ! 1275: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1276: static char *copyright ="Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved."; ! 1277: #endif /* not lint */ ! 1278: ! 1279: *************** ! 1280: *** 109,116 ! 1281: * of the tar and/or cpio interfaces... ! 1282: */ ! 1283: f_unconditional = 1; ! 1284: ! f_modification_time = 1; ! 1285: ! f_create_dirs = 1; ! 1286: blocking = 0; ! 1287: ar_interface = TAR; ! 1288: ar_format = TAR; ! 1289: ! 1290: --- 112,119 ----- ! 1291: * of the tar and/or cpio interfaces... ! 1292: */ ! 1293: f_unconditional = 1; ! 1294: ! f_mtime = 1; ! 1295: ! f_dir_create = 1; ! 1296: blocking = 0; ! 1297: ar_interface = TAR; ! 1298: ar_format = TAR; ! 1299: *************** ! 1300: *** 114,120 ! 1301: blocking = 0; ! 1302: ar_interface = TAR; ! 1303: ar_format = TAR; ! 1304: ! msgfile=stdout; ! 1305: ! 1306: /* Parse options */ ! 1307: while ((c = taropt(argc, argv, "b:cf:hlmortuvwx")) != EOF) { ! 1308: ! 1309: --- 117,123 ----- ! 1310: blocking = 0; ! 1311: ar_interface = TAR; ! 1312: ar_format = TAR; ! 1313: ! msgfile=stderr; ! 1314: ! 1315: /* Parse options */ ! 1316: while ((c = taropt(argc, argv, "b:cf:hlmortuvwx")) != EOF) { ! 1317: *************** ! 1318: *** 258,264 ! 1319: char c; ! 1320: char *place; ! 1321: ! 1322: ! optarg = NULL; ! 1323: ! 1324: if (key == NULL) { /* First time */ ! 1325: if (argc < 2) ! 1326: ! 1327: --- 261,267 ----- ! 1328: char c; ! 1329: char *place; ! 1330: ! 1331: ! optarg = (char *)NULL; ! 1332: ! 1333: if (key == (char *)NULL) { /* First time */ ! 1334: if (argc < 2) ! 1335: *************** ! 1336: *** 260,266 ! 1337: ! 1338: optarg = NULL; ! 1339: ! 1340: ! if (key == NULL) { /* First time */ ! 1341: if (argc < 2) ! 1342: return EOF; ! 1343: key = argv[1]; ! 1344: ! 1345: --- 263,269 ----- ! 1346: ! 1347: optarg = (char *)NULL; ! 1348: ! 1349: ! if (key == (char *)NULL) { /* First time */ ! 1350: if (argc < 2) ! 1351: return EOF; ! 1352: key = argv[1]; ! 1353: *************** ! 1354: *** 280,286 ! 1355: } ! 1356: place = strchr(optstring, c); ! 1357: ! 1358: ! if (place == NULL || c == ':') { ! 1359: fprintf(stderr, "%s: unknown option %c\n", argv[0], c); ! 1360: return ('?'); ! 1361: } ! 1362: ! 1363: --- 283,289 ----- ! 1364: } ! 1365: place = strchr(optstring, c); ! 1366: ! 1367: ! if (place == (char *)NULL || c == ':') { ! 1368: fprintf(stderr, "%s: unknown option %c\n", argv[0], c); ! 1369: return ('?'); ! 1370: } ! 1371: *************** ! 1372: *** 323,337 ! 1373: ! 1374: #endif ! 1375: { ! 1376: ! fprintf(stderr, "\ ! 1377: ! Usage: %s -c[bfvw] device block filename..\n", myname); ! 1378: ! fprintf(stderr, "\ ! 1379: ! %s -r[bvw] device block [filename...]\n", myname); ! 1380: ! fprintf(stderr, "\ ! 1381: ! %s -t[vf] device\n", myname); ! 1382: ! fprintf(stderr, "\ ! 1383: ! %s -u[bvw] device block [filename...]\n", myname); ! 1384: ! fprintf(stderr, "\ ! 1385: ! %s -x[flmovw] device [filename...]\n", myname); ! 1386: exit(1); ! 1387: } ! 1388: ! 1389: --- 326,335 ----- ! 1390: ! 1391: #endif ! 1392: { ! 1393: ! fprintf(stderr, "Usage: %s -c[bfvw] device block filename..\n", myname); ! 1394: ! fprintf(stderr, " %s -r[bvw] device block [filename...]\n", myname); ! 1395: ! fprintf(stderr, " %s -t[vf] device\n", myname); ! 1396: ! fprintf(stderr, " %s -u[bvw] device block [filename...]\n", myname); ! 1397: ! fprintf(stderr, " %s -x[flmovw] device [filename...]\n", myname); ! 1398: exit(1); ! 1399: } ! 1400: Index: ttyio.c ! 1401: *** /tmp/,RCSt1a17168 Sun Feb 12 14:09:46 1989 ! 1402: --- ttyio.c Sun Feb 12 14:02:39 1989 ! 1403: *************** ! 1404: *** 1,6 ! 1405: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1406: * ! 1407: ! * $Revision: 1.1 $ ! 1408: * ! 1409: * ttyio.c - Terminal/Console I/O functions for all archive interfaces ! 1410: * ! 1411: ! 1412: --- 1,6 ----- ! 1413: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1414: * ! 1415: ! * $Revision: 1.1 $ ! 1416: * ! 1417: * ttyio.c - Terminal/Console I/O functions for all archive interfaces ! 1418: * ! 1419: *************** ! 1420: *** 28,34 ! 1421: * ! 1422: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1423: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1424: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1425: * ! 1426: * $Log: patch3,v $ ! 1427: # Revision 1.1 92/08/28 08:02:40 bin ! 1428: # Initial revision ! 1429: # ! 1430: * Revision 1.1 88/12/23 18:02:39 mark ! 1431: ! 1432: --- 28,34 ----- ! 1433: * ! 1434: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1435: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1436: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1437: * ! 1438: * $Log: patch3,v $ ! 1439: # Revision 1.1 92/08/28 08:02:40 bin ! 1440: # Initial revision ! 1441: # ! 1442: * Revision 1.2 89/02/12 10:06:11 mark ! 1443: *************** ! 1444: *** 31,36 ! 1445: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1446: * ! 1447: * $Log: patch3,v $ ! 1448: # Revision 1.1 92/08/28 08:02:40 bin ! 1449: # Initial revision ! 1450: # ! 1451: * Revision 1.1 88/12/23 18:02:39 mark ! 1452: * Initial revision ! 1453: * ! 1454: ! 1455: --- 31,39 ----- ! 1456: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1457: * ! 1458: * $Log: patch3,v $ ! 1459: # Revision 1.1 92/08/28 08:02:40 bin ! 1460: # Initial revision ! 1461: # ! 1462: + * Revision 1.2 89/02/12 10:06:11 mark ! 1463: + * 1.2 release fixes ! 1464: + * ! 1465: * Revision 1.1 88/12/23 18:02:39 mark ! 1466: * Initial revision ! 1467: * ! 1468: *************** ! 1469: *** 37,43 ! 1470: */ ! 1471: ! 1472: #ifndef lint ! 1473: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1474: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1475: #endif /* ! lint */ ! 1476: ! 1477: ! 1478: --- 40,46 ----- ! 1479: */ ! 1480: ! 1481: #ifndef lint ! 1482: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1483: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1484: #endif /* ! lint */ ! 1485: ! 1486: *************** ! 1487: *** 158,164 ! 1488: return(-1); ! 1489: } ! 1490: if (got < 0) { ! 1491: ! fatal(syserr()); ! 1492: } ! 1493: answer[idx] = '\0'; ! 1494: return(0); ! 1495: ! 1496: --- 161,167 ----- ! 1497: return(-1); ! 1498: } ! 1499: if (got < 0) { ! 1500: ! fatal(strerror()); ! 1501: } ! 1502: answer[idx] = '\0'; ! 1503: return(0); ! 1504: *************** ! 1505: *** 244,252 ! 1506: ! 1507: close_archive(); ! 1508: ! 1509: ! sprintf(msg, "\ ! 1510: ! %s: Ready for volume %u\n\ ! 1511: ! %s: Type \"go\" when ready to proceed (or \"quit\" to abort): \07", ! 1512: myname, arvolume + 1, myname); ! 1513: for (;;) { ! 1514: ret = nextask(msg, answer, sizeof(answer)); ! 1515: ! 1516: --- 247,253 ----- ! 1517: ! 1518: close_archive(); ! 1519: ! 1520: ! sprintf(msg, " ! 1521: %s: Ready for volume %u\n%s: Type \"go\" when ready to proceed ! 1522: (or \"quit\" to abort): \07", ! 1523: myname, arvolume + 1, myname); ! 1524: for (;;) { ! 1525: ret = nextask(msg, answer, sizeof(answer)); ! 1526: Index: warn.c ! 1527: *** /tmp/,RCSt1a17173 Sun Feb 12 14:09:53 1989 ! 1528: --- warn.c Sun Feb 12 14:02:41 1989 ! 1529: *************** ! 1530: *** 1,6 ! 1531: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1532: * ! 1533: ! * $Revision: 1.1 $ ! 1534: * ! 1535: * warn.c - miscellaneous user warning routines ! 1536: * ! 1537: ! 1538: --- 1,6 ----- ! 1539: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1540: * ! 1541: ! * $Revision: 1.1 $ ! 1542: * ! 1543: * warn.c - miscellaneous user warning routines ! 1544: * ! 1545: *************** ! 1546: *** 27,33 ! 1547: * ! 1548: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1549: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1550: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1551: * ! 1552: * $Log: patch3,v $ ! 1553: # Revision 1.1 92/08/28 08:02:40 bin ! 1554: # Initial revision ! 1555: # ! 1556: * Revision 1.1 88/12/23 18:02:40 mark ! 1557: ! 1558: --- 27,33 ----- ! 1559: * ! 1560: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1561: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1562: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1563: * ! 1564: * $Log: patch3,v $ ! 1565: # Revision 1.1 92/08/28 08:02:40 bin ! 1566: # Initial revision ! 1567: # ! 1568: * Revision 1.2 89/02/12 10:06:15 mark ! 1569: *************** ! 1570: *** 30,35 ! 1571: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1572: * ! 1573: * $Log: patch3,v $ ! 1574: # Revision 1.1 92/08/28 08:02:40 bin ! 1575: # Initial revision ! 1576: # ! 1577: * Revision 1.1 88/12/23 18:02:40 mark ! 1578: * Initial revision ! 1579: * ! 1580: ! 1581: --- 30,38 ----- ! 1582: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1583: * ! 1584: * $Log: patch3,v $ ! 1585: # Revision 1.1 92/08/28 08:02:40 bin ! 1586: # Initial revision ! 1587: # ! 1588: + * Revision 1.2 89/02/12 10:06:15 mark ! 1589: + * 1.2 release fixes ! 1590: + * ! 1591: * Revision 1.1 88/12/23 18:02:40 mark ! 1592: * Initial revision ! 1593: * ! 1594: *************** ! 1595: *** 36,42 ! 1596: */ ! 1597: ! 1598: #ifndef lint ! 1599: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1600: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1601: #endif /* ! lint */ ! 1602: ! 1603: ! 1604: --- 39,45 ----- ! 1605: */ ! 1606: ! 1607: #ifndef lint ! 1608: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1609: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1610: #endif /* ! lint */ ! 1611: ! 1612: *************** ! 1613: *** 93,99 ! 1614: } ! 1615: ! 1616: ! 1617: ! /* syserr - return pointer to appropriate system error message ! 1618: * ! 1619: * DESCRIPTION ! 1620: * ! 1621: ! 1622: --- 96,102 ----- ! 1623: } ! 1624: ! 1625: ! 1626: ! /* strerror - return pointer to appropriate system error message ! 1627: * ! 1628: * DESCRIPTION ! 1629: * ! 1630: *************** ! 1631: *** 112,118 ! 1632: ! 1633: #ifdef __STDC__ ! 1634: ! 1635: ! char *syserr(void) ! 1636: ! 1637: #else ! 1638: ! 1639: ! 1640: --- 115,121 ----- ! 1641: ! 1642: #ifdef __STDC__ ! 1643: ! 1644: ! char *strerror(void) ! 1645: ! 1646: #else ! 1647: ! 1648: *************** ! 1649: *** 116,122 ! 1650: ! 1651: #else ! 1652: ! 1653: ! char *syserr() ! 1654: ! 1655: #endif ! 1656: { ! 1657: ! 1658: --- 119,125 ----- ! 1659: ! 1660: #else ! 1661: ! 1662: ! char *strerror() ! 1663: ! 1664: #endif ! 1665: { ! 1666: *************** ! 1667: *** 162,168 ! 1668: { ! 1669: OFFSET n; ! 1670: ! 1671: ! if (n = (size / (1024 * 1024))) { ! 1672: fprintf(stream, "%ldm+", n); ! 1673: size -= n * 1024 * 1024; ! 1674: } ! 1675: ! 1676: --- 165,171 ----- ! 1677: { ! 1678: OFFSET n; ! 1679: ! 1680: ! if (n = (size / (1024L * 1024L))) { ! 1681: fprintf(stream, "%ldm+", n); ! 1682: size -= n * 1024L * 1024L; ! 1683: } ! 1684: *************** ! 1685: *** 164,170 ! 1686: ! 1687: if (n = (size / (1024 * 1024))) { ! 1688: fprintf(stream, "%ldm+", n); ! 1689: ! size -= n * 1024 * 1024; ! 1690: } ! 1691: if (n = (size / 1024)) { ! 1692: fprintf(stream, "%ldk+", n); ! 1693: ! 1694: --- 167,173 ----- ! 1695: ! 1696: if (n = (size / (1024L * 1024L))) { ! 1697: fprintf(stream, "%ldm+", n); ! 1698: ! size -= n * 1024L * 1024L; ! 1699: } ! 1700: if (n = (size / 1024L)) { ! 1701: fprintf(stream, "%ldk+", n); ! 1702: *************** ! 1703: *** 166,172 ! 1704: fprintf(stream, "%ldm+", n); ! 1705: size -= n * 1024 * 1024; ! 1706: } ! 1707: ! if (n = (size / 1024)) { ! 1708: fprintf(stream, "%ldk+", n); ! 1709: size -= n * 1024; ! 1710: } ! 1711: ! 1712: --- 169,175 ----- ! 1713: fprintf(stream, "%ldm+", n); ! 1714: size -= n * 1024L * 1024L; ! 1715: } ! 1716: ! if (n = (size / 1024L)) { ! 1717: fprintf(stream, "%ldk+", n); ! 1718: size -= n * 1024L; ! 1719: } ! 1720: *************** ! 1721: *** 168,174 ! 1722: } ! 1723: if (n = (size / 1024)) { ! 1724: fprintf(stream, "%ldk+", n); ! 1725: ! size -= n * 1024; ! 1726: } ! 1727: fprintf(stream, "%ld", size); ! 1728: } ! 1729: ! 1730: --- 171,177 ----- ! 1731: } ! 1732: if (n = (size / 1024L)) { ! 1733: fprintf(stream, "%ldk+", n); ! 1734: ! size -= n * 1024L; ! 1735: } ! 1736: fprintf(stream, "%ld", size); ! 1737: } ! 1738: Index: wildmat.c ! 1739: *** /tmp/,RCSt1a17178 Sun Feb 12 14:09:59 1989 ! 1740: --- wildmat.c Sun Feb 12 14:02:42 1989 ! 1741: *************** ! 1742: *** 1,6 ! 1743: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1744: * ! 1745: ! * $Revision: 1.1 $ ! 1746: * ! 1747: * wildmat.c - simple regular expression pattern matching routines ! 1748: * ! 1749: ! 1750: --- 1,6 ----- ! 1751: /* $Source: /src386/usr/bin/pax/patch3,v $ ! 1752: * ! 1753: ! * $Revision: 1.1 $ ! 1754: * ! 1755: * wildmat.c - simple regular expression pattern matching routines ! 1756: * ! 1757: *************** ! 1758: *** 33,39 ! 1759: * ! 1760: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1761: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1762: ! * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1763: * ! 1764: * $Log: patch3,v $ ! 1765: # Revision 1.1 92/08/28 08:02:40 bin ! 1766: # Initial revision ! 1767: # ! 1768: * Revision 1.1 88/12/23 18:02:41 mark ! 1769: ! 1770: --- 33,39 ----- ! 1771: * ! 1772: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 1773: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 1774: ! * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1775: * ! 1776: * $Log: patch3,v $ ! 1777: # Revision 1.1 92/08/28 08:02:40 bin ! 1778: # Initial revision ! 1779: # ! 1780: * Revision 1.2 89/02/12 10:06:20 mark ! 1781: *************** ! 1782: *** 36,41 ! 1783: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1784: * ! 1785: * $Log: patch3,v $ ! 1786: # Revision 1.1 92/08/28 08:02:40 bin ! 1787: # Initial revision ! 1788: # ! 1789: * Revision 1.1 88/12/23 18:02:41 mark ! 1790: * Initial revision ! 1791: * ! 1792: ! 1793: --- 36,44 ----- ! 1794: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 1795: * ! 1796: * $Log: patch3,v $ ! 1797: # Revision 1.1 92/08/28 08:02:40 bin ! 1798: # Initial revision ! 1799: # ! 1800: + * Revision 1.2 89/02/12 10:06:20 mark ! 1801: + * 1.2 release fixes ! 1802: + * ! 1803: * Revision 1.1 88/12/23 18:02:41 mark ! 1804: * Initial revision ! 1805: * ! 1806: *************** ! 1807: *** 42,48 ! 1808: */ ! 1809: ! 1810: #ifndef lint ! 1811: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1812: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1813: #endif /* ! lint */ ! 1814: ! 1815: ! 1816: --- 45,51 ----- ! 1817: */ ! 1818: ! 1819: #ifndef lint ! 1820: ! static char *ident = "$Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $"; ! 1821: static char *copyright = "Copyright (c) 1989 Mark H. Colburn.\nAll rights reserved.\n"; ! 1822: #endif /* ! lint */ ! 1823: ! 1824: *************** ! 1825: *** 97,103 ! 1826: ! 1827: #endif ! 1828: { ! 1829: ! while (!wildmat(source, pattern)) { ! 1830: if (*++source == '\0') { ! 1831: return (0); ! 1832: } ! 1833: ! 1834: --- 100,106 ----- ! 1835: ! 1836: #endif ! 1837: { ! 1838: ! while (!wildmat(pattern, source)) { ! 1839: if (*++source == '\0') { ! 1840: return (0); ! 1841: } ! 1842: *************** ! 1843: *** 118,125 ! 1844: * ! 1845: * PARAMETERS ! 1846: * ! 1847: - * char *source - The source string which is to be compared to the ! 1848: - * regular expression pattern. ! 1849: * char *pattern - The regular expression which we are supposed to ! 1850: * match to. ! 1851: * ! 1852: ! 1853: --- 121,126 ----- ! 1854: * ! 1855: * PARAMETERS ! 1856: * ! 1857: * char *pattern - The regular expression which we are supposed to ! 1858: * match to. ! 1859: * char *source - The source string which is to be compared to the ! 1860: *************** ! 1861: *** 122,127 ! 1862: * regular expression pattern. ! 1863: * char *pattern - The regular expression which we are supposed to ! 1864: * match to. ! 1865: * ! 1866: * RETURNS ! 1867: * ! 1868: ! 1869: --- 123,130 ----- ! 1870: * ! 1871: * char *pattern - The regular expression which we are supposed to ! 1872: * match to. ! 1873: + * char *source - The source string which is to be compared to the ! 1874: + * regular expression pattern. ! 1875: * ! 1876: * RETURNS ! 1877: * ! 1878: Index: Makefile ! 1879: *** /tmp/,RCSt1a17183 Sun Feb 12 14:10:07 1989 ! 1880: --- Makefile Sun Feb 12 14:01:55 1989 ! 1881: *************** ! 1882: *** 3,9 ! 1883: # ! 1884: # Written by Mark H. Colburn ([email protected]) ! 1885: # ! 1886: ! # $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 1887: # ! 1888: ! 1889: # ! 1890: ! 1891: --- 3,9 ----- ! 1892: # ! 1893: # Written by Mark H. Colburn ([email protected]) ! 1894: # ! 1895: ! # $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 1896: # ! 1897: ! 1898: # ! 1899: *************** ! 1900: *** 30,35 ! 1901: CC = cc ! 1902: ! 1903: # ! 1904: # Set LFLAGS to whatever makes your linker happy ! 1905: # ! 1906: #LDFLAGS = -s ! 1907: ! 1908: --- 30,40 ----- ! 1909: CC = cc ! 1910: ! 1911: # ! 1912: + # Set LIBS to any additional libraries that you need linked in with pax. ! 1913: + # ! 1914: + LIBS= ! 1915: + ! 1916: + # ! 1917: # Set LFLAGS to whatever makes your linker happy ! 1918: # ! 1919: #LDFLAGS = -s ! 1920: *************** ! 1921: *** 36,41 ! 1922: LDFLAGS = ! 1923: ! 1924: # ! 1925: # Set LINTFLAGS to whatever makes your implementation of lint happy. If ! 1926: # you don't undef __STDC__ and you have an ANSI C compiler, lint will choke ! 1927: # on the function prototypes present in func.h ! 1928: ! 1929: --- 41,52 ----- ! 1930: LDFLAGS = ! 1931: ! 1932: # ! 1933: + # Set COPY to the name of the command to use to copy pax to cpio and ! 1934: + # tar. Usually it is 'ln'. ! 1935: + # ! 1936: + COPY=ln ! 1937: + ! 1938: + # ! 1939: # Set LINTFLAGS to whatever makes your implementation of lint happy. If ! 1940: # you don't undef __STDC__ and you have an ANSI C compiler, lint will choke ! 1941: # on the function prototypes present in func.h. ! 1942: *************** ! 1943: *** 38,44 ! 1944: # ! 1945: # Set LINTFLAGS to whatever makes your implementation of lint happy. If ! 1946: # you don't undef __STDC__ and you have an ANSI C compiler, lint will choke ! 1947: ! # on the function prototypes present in func.h ! 1948: # ! 1949: LINTFLAGS = -U__STDC__ $(POSIX) ! 1950: ! 1951: ! 1952: --- 49,55 ----- ! 1953: # ! 1954: # Set LINTFLAGS to whatever makes your implementation of lint happy. If ! 1955: # you don't undef __STDC__ and you have an ANSI C compiler, lint will choke ! 1956: ! # on the function prototypes present in func.h. ! 1957: # ! 1958: LINTFLAGS = -U__STDC__ $(POSIX) ! 1959: ! 1960: *************** ! 1961: *** 53,58 ! 1962: # ! 1963: MAN5 = /usr/man/man5 ! 1964: MAN1 = /usr/man/man1 ! 1965: ! 1966: # ! 1967: # There are three different ways to get POSIX or BSD conformant directory ! 1968: ! 1969: --- 64,71 ----- ! 1970: # ! 1971: MAN5 = /usr/man/man5 ! 1972: MAN1 = /usr/man/man1 ! 1973: + MAN5EXT = 5 ! 1974: + MAN1EXT = 1 ! 1975: ! 1976: # ! 1977: # There are three different ways to get POSIX or BSD conformant directory ! 1978: *************** ! 1979: *** 80,86 ! 1980: # Nothing beyond this point should need to be changed. ! 1981: # ! 1982: ! 1983: ! MISC = Makefile pax.1 tar.5 cpio.5 README PATCHLEVEL ! 1984: HEADERS= config.h func.h limits.h port.h pax.h ! 1985: SOURCE= pax.c append.c buffer.c cpio.c create.c extract.c fileio.c\ ! 1986: link.c list.c mem.c namelist.c names.c pass.c pathname.c\ ! 1987: ! 1988: --- 93,100 ----- ! 1989: # Nothing beyond this point should need to be changed. ! 1990: # ! 1991: ! 1992: ! SHELL = /bin/sh ! 1993: ! MISC = Makefile pax.1 tar.5 cpio.5 README PATCHLEVEL ! 1994: HEADERS= config.h func.h limits.h port.h pax.h ! 1995: SOURCE= pax.c append.c buffer.c cpio.c create.c extract.c fileio.c\ ! 1996: link.c list.c mem.c namelist.c names.c pass.c pathname.c\ ! 1997: *************** ! 1998: *** 95,101 ! 1999: all: $(PROGS) ! 2000: ! 2001: install: $(PROGS) ! 2002: ! mv $(PROGS) $(BINDIR) ! 2003: cp $(PMAN1) $(MAN1) ! 2004: # cp $(PMAN5) $(MAN5) ! 2005: ! 2006: ! 2007: --- 109,119 ----- ! 2008: all: $(PROGS) ! 2009: ! 2010: install: $(PROGS) ! 2011: ! strip pax ! 2012: ! cp pax $(BINDIR) ! 2013: ! chmod 755 $(BINDIR)/pax ! 2014: ! ln $(BINDIR)/pax $(BINDIR)/tar ! 2015: ! ln $(BINDIR)/pax $(BINDIR)/cpio ! 2016: cp $(PMAN1) $(MAN1) ! 2017: # cp $(PMAN5) $(MAN5) ! 2018: ! 2019: *************** ! 2020: *** 107,113 ! 2021: lint $(LINTFLAGS) $(SOURCE) ! 2022: ! 2023: pax : $(OBJECT) ! 2024: ! $(CC) $(CFLAGS) -o pax $(OBJECT) $(DIRENT) ! 2025: ! 2026: tar: pax ! 2027: rm -f tar ! 2028: ! 2029: --- 125,131 ----- ! 2030: lint $(LINTFLAGS) $(SOURCE) ! 2031: ! 2032: pax : $(OBJECT) ! 2033: ! $(CC) $(CFLAGS) $(LDFLAGS) -o pax $(OBJECT) $(DIRENT) $(LIBS) ! 2034: ! 2035: tar: pax ! 2036: rm -f tar ! 2037: *************** ! 2038: *** 111,117 ! 2039: ! 2040: tar: pax ! 2041: rm -f tar ! 2042: ! ln pax tar ! 2043: ! 2044: cpio: pax ! 2045: rm -f cpio ! 2046: ! 2047: --- 129,135 ----- ! 2048: ! 2049: tar: pax ! 2050: rm -f tar ! 2051: ! $(COPY) pax tar ! 2052: ! 2053: cpio: pax ! 2054: rm -f cpio ! 2055: *************** ! 2056: *** 115,120 ! 2057: ! 2058: cpio: pax ! 2059: rm -f cpio ! 2060: ! ln pax cpio ! 2061: ! 2062: $(OBJECT): $(HEADERS) ! 2063: ! 2064: --- 133,138 ----- ! 2065: ! 2066: cpio: pax ! 2067: rm -f cpio ! 2068: ! $(COPY) pax cpio ! 2069: ! 2070: $(OBJECT): $(HEADERS) ! 2071: Index: README ! 2072: *** /tmp/,RCSt1a17188 Sun Feb 12 14:10:13 1989 ! 2073: --- README Sun Feb 12 14:01:56 1989 ! 2074: *************** ! 2075: *** 6,12 ! 2076: ! 2077: Introduction ! 2078: ! 2079: ! This is version 1.1 of Pax, a public domain archiving utility. ! 2080: ! 2081: Pax is an archiving utility that reads and writes tar and cpio formats, ! 2082: both the traditional ones and the extended formats specified in IEEE ! 2083: ! 2084: --- 6,12 ----- ! 2085: ! 2086: Introduction ! 2087: ! 2088: ! This is version 1.2 of Pax, an archiving utility. ! 2089: ! 2090: Pax is an archiving utility that reads and writes tar and cpio formats, ! 2091: both the traditional ones and the extended formats specified in IEEE ! 2092: *************** ! 2093: *** 16,25 ! 2094: 1003.2 as a compromise in the chronic controversy over which of tar or ! 2095: cpio is best. ! 2096: ! 2097: ! The USENIX Association provided some support for this implementation ! 2098: ! project. As a result, the Pax utility is being distributed free of ! 2099: ! charge and may be redistributed by others in either source or binary ! 2100: ! form. (See the liscensing section for restrictions) ! 2101: ! 2102: The source for Pax is being posted to comp.sources.unix on USENET and ! 2103: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2104: ! 2105: --- 16,25 ----- ! 2106: 1003.2 as a compromise in the chronic controversy over which of tar or ! 2107: cpio is best. ! 2108: ! 2109: ! The USENIX Association provided some support for the initial ! 2110: ! implementation of this product. As a result, the Pax utility is being ! 2111: ! distributed free of charge and may be redistributed by others in either ! 2112: ! source or binary form. (See the liscensing section for restrictions) ! 2113: ! 2114: The source for Pax has been posted to comp.sources.unix on USENET and ! 2115: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2116: *************** ! 2117: *** 21,27 ! 2118: charge and may be redistributed by others in either source or binary ! 2119: form. (See the liscensing section for restrictions) ! 2120: ! 2121: ! The source for Pax is being posted to comp.sources.unix on USENET and ! 2122: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2123: moon.honeywell.com and from one of the Berkeley machines. The source ! 2124: to Pax will be available via anonymous UUCP from jhereg.mn.org, the ! 2125: ! 2126: --- 21,27 ----- ! 2127: distributed free of charge and may be redistributed by others in either ! 2128: source or binary form. (See the liscensing section for restrictions) ! 2129: ! 2130: ! The source for Pax has been posted to comp.sources.unix on USENET and ! 2131: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2132: moon.src.honeywell.com and from ucb-arpa.berkeley.edu. The source ! 2133: to Pax is also available via anonymous UUCP from jhereg.mn.org, the ! 2134: *************** ! 2135: *** 23,30 ! 2136: ! 2137: The source for Pax is being posted to comp.sources.unix on USENET and ! 2138: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2139: ! moon.honeywell.com and from one of the Berkeley machines. The source ! 2140: ! to Pax will be available via anonymous UUCP from jhereg.mn.org, the ! 2141: author's home machine and possibly other sites. ! 2142: ! 2143: The source for Pax will continue to change as long as the definition of ! 2144: ! 2145: --- 23,30 ----- ! 2146: ! 2147: The source for Pax has been posted to comp.sources.unix on USENET and ! 2148: will also be available by anonymous FTP on the Internet from uunet.uu.net, ! 2149: ! moon.src.honeywell.com and from ucb-arpa.berkeley.edu. The source ! 2150: ! to Pax is also available via anonymous UUCP from jhereg.mn.org, the ! 2151: author's home machine and possibly other sites. ! 2152: ! 2153: The source for Pax will continue to change as long as the definition of ! 2154: *************** ! 2155: *** 56,62 ! 2156: machines: ! 2157: ! 2158: Machine Operating System/Release ! 2159: ! ------------------------------------------------------- ! 2160: Altos 586 System III (2.3) ! 2161: AT&T UNIX PC System V.2 (Release 3.51) ! 2162: Cray 2 UNICOS ! 2163: ! 2164: --- 56,62 ----- ! 2165: machines: ! 2166: ! 2167: Machine Operating System/Release ! 2168: ! --------------------------------------------------- ! 2169: Altos 586 System III (2.3) ! 2170: AT&T UNIX PC System V.2 (Release 3.51) ! 2171: Convergent S/320 CTIX/68k 6.1, UNIX SysV 3.1 ! 2172: *************** ! 2173: *** 59,64 ! 2174: ------------------------------------------------------- ! 2175: Altos 586 System III (2.3) ! 2176: AT&T UNIX PC System V.2 (Release 3.51) ! 2177: Cray 2 UNICOS ! 2178: HP 9000 HP/UX 6.0.1 ! 2179: Mac II A/UX 1.0 ! 2180: ! 2181: --- 59,65 ----- ! 2182: --------------------------------------------------- ! 2183: Altos 586 System III (2.3) ! 2184: AT&T UNIX PC System V.2 (Release 3.51) ! 2185: + Convergent S/320 CTIX/68k 6.1, UNIX SysV 3.1 ! 2186: Cray 2 UNICOS ! 2187: Encore CC 02.00.r088 ! 2188: HP 9000 HP/UX 6.0.1 ! 2189: *************** ! 2190: *** 60,65 ! 2191: Altos 586 System III (2.3) ! 2192: AT&T UNIX PC System V.2 (Release 3.51) ! 2193: Cray 2 UNICOS ! 2194: HP 9000 HP/UX 6.0.1 ! 2195: Mac II A/UX 1.0 ! 2196: NCR Tower System V.2 ! 2197: ! 2198: --- 61,67 ----- ! 2199: AT&T UNIX PC System V.2 (Release 3.51) ! 2200: Convergent S/320 CTIX/68k 6.1, UNIX SysV 3.1 ! 2201: Cray 2 UNICOS ! 2202: + Encore CC 02.00.r088 ! 2203: HP 9000 HP/UX 6.0.1 ! 2204: IBM PC/AT Microport SV/AT V2.4 ! 2205: Mac II A/UX 1.0 ! 2206: *************** ! 2207: *** 61,66 ! 2208: AT&T UNIX PC System V.2 (Release 3.51) ! 2209: Cray 2 UNICOS ! 2210: HP 9000 HP/UX 6.0.1 ! 2211: Mac II A/UX 1.0 ! 2212: NCR Tower System V.2 ! 2213: Pyramid AT&T and Berkeley universe ! 2214: ! 2215: --- 63,69 ----- ! 2216: Cray 2 UNICOS ! 2217: Encore CC 02.00.r088 ! 2218: HP 9000 HP/UX 6.0.1 ! 2219: + IBM PC/AT Microport SV/AT V2.4 ! 2220: Mac II A/UX 1.0 ! 2221: NCR Tower System V.2 ! 2222: Pyramid AT&T and Berkeley universe ! 2223: *************** ! 2224: *** 67,72 ! 2225: Sequent Symetry Dynix 3.0 ! 2226: SGI Iris 4D/60G UNIX 3.0 ! 2227: SGI Iris 4D/70G UNIX 3.0 ! 2228: Sun 2 SunOS 3.4 ! 2229: Sun 2 SunOS 3.5 ! 2230: Sun 3 SunOS 3.4 ! 2231: ! 2232: --- 70,77 ----- ! 2233: Sequent Symetry Dynix 3.0 ! 2234: SGI Iris 4D/60G UNIX 3.0 ! 2235: SGI Iris 4D/70G UNIX 3.0 ! 2236: + SCO Xenix 386 2.3.2 ! 2237: + SCO Unix 386 3.2 ! 2238: Sun 2 SunOS 3.4 ! 2239: Sun 2 SunOS 3.5 ! 2240: Sun 3 SunOS 3.4 ! 2241: *************** ! 2242: *** 76,82 ! 2243: VAX 8750 BSD 4.3 (Mt. Xinu) ! 2244: VAX 8650 BSD 4.3 (Mt. Xinu) ! 2245: VAX 780 BSD 4.3 (Berkeley) ! 2246: ! ------------------------------------------------------- ! 2247: ! 2248: In future releases, the source will be moving toward ANSI C and POSIX ! 2249: compatibility. This should allow for portability over any system ! 2250: ! 2251: --- 81,87 ----- ! 2252: VAX 8750 BSD 4.3 (Mt. Xinu) ! 2253: VAX 8650 BSD 4.3 (Mt. Xinu) ! 2254: VAX 780 BSD 4.3 (Berkeley) ! 2255: ! --------------------------------------------------- ! 2256: ! 2257: In future releases, the source will be moving toward ANSI C and POSIX ! 2258: compatibility. This should allow for portability over any system ! 2259: *************** ! 2260: *** 110,116 ! 2261: ! 2262: THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 2263: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 2264: ! WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 2265: ! 2266: Please report any bug or problems to: ! 2267: ! 2268: ! 2269: --- 115,121 ----- ! 2270: ! 2271: THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 2272: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 2273: ! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 2274: ! 2275: Please report any bug or problems to: ! 2276: ! 2277: *************** ! 2278: *** 115,121 ! 2279: Please report any bug or problems to: ! 2280: ! 2281: Mark Colburn ! 2282: ! NAPS International ! 2283: 117 Mackubin St., Suite 1 ! 2284: St. Paul MN 55102 ! 2285: (612) 224-9108 ! 2286: ! 2287: --- 120,126 ----- ! 2288: Please report any bug or problems to: ! 2289: ! 2290: Mark Colburn ! 2291: ! Minnetech Consulting, Inc. ! 2292: 117 Mackubin St., Suite 1 ! 2293: St. Paul MN 55102 ! 2294: [email protected] ! 2295: *************** ! 2296: *** 118,122 ! 2297: NAPS International ! 2298: 117 Mackubin St., Suite 1 ! 2299: St. Paul MN 55102 ! 2300: - (612) 224-9108 ! 2301: [email protected] ! 2302: ! 2303: --- 123,126 ----- ! 2304: Minnetech Consulting, Inc. ! 2305: 117 Mackubin St., Suite 1 ! 2306: St. Paul MN 55102 ! 2307: [email protected] ! 2308: Index: PATCHLEVEL ! 2309: *** /tmp/,RCSt1a17193 Sun Feb 12 14:10:19 1989 ! 2310: --- PATCHLEVEL Sun Feb 12 14:01:55 1989 ! 2311: *************** ! 2312: *** 1,2 ! 2313: ! Patchlevel 0 ! 2314: ! $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 2315: ! 2316: --- 1,2 ----- ! 2317: ! Patchlevel 1 ! 2318: ! $Id: patch3,v 1.1 92/08/28 08:02:40 bin Exp Locker: bin $ ! 2319: ! 2320: ! 2321:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.