Patch #: 151 Type: operational change Priority: none Modification: add support for ISO file name and content translation Modification: add support for recognition of UNIX FrameMaker files Submitted: Dan Oscarsson Submitted: David Hornsby Archived: munnari.OZ.AU mac/cap.patches/cap60.patch151 Application: 'cd cap60; patch -p < cap60.patches/cap60.patch151' File: cap60/applications/aufs/afpdid.c File: cap60/applications/aufs/afposfi.c File: cap60/applications/aufs/afposncs.c File: cap60/applications/aufs/afpudb.c File: cap60/applications/aufs/afpudb.h File: cap60/extras/afpfile File: cap60/CAP60.README File: cap60/Configure *** applications/aufs/afpdid.c.ORIG Mon Aug 2 18:32:56 1993 --- applications/aufs/afpdid.c Thu Aug 26 22:08:35 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1993/08/02 08:32:42 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpdid.c,v 2.5 1993/08/02 08:32:42 djh Rel djh $ ! * $Revision: 2.5 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/26 12:08:20 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpdid.c,v 2.10 1993/08/26 12:08:20 djh Rel djh $ ! * $Revision: 2.10 $ */ /* *************** *** 19,28 **** * */ - /* PATCH: PC.aufs/afpdid.c.diffs, djh@munnari.OZ.AU, 15/11/90 */ - /* PATCH: Moy@Berkeley/afpdid.c.diff, djh@munnari.OZ.AU, 17/11/90 */ - /* PATCH: XENIX/file.3, djh@munnari.OZ.AU, 20/11/90 */ - #include #include #include --- 19,24 ---- *************** *** 909,922 **** register char *in; byte *enp; { ! char c,c2; char *cp,*cp2; byte *en = enp; while ((c = *in++) != '\0') { ! if (c != ':') *en++ = c; ! else { /* must convert to external form */ if ((c = *in++) == '\0' || (c2 = *in++) == '\0') { *en++ = '|'; --- 905,925 ---- register char *in; byte *enp; { ! byte c,c2; char *cp,*cp2; byte *en = enp; + #ifdef ISO_TRANSLATE + extern u_char ISO2Mac[]; + #endif ISO_TRANSLATE while ((c = *in++) != '\0') { ! if (c != ':') { ! #if defined (ISO_TRANSLATE) & defined (ISO_FILENAMES) ! *en++ = (c & 0x80) ? ((c2 = ISO2Mac[c]) ? c2 : 0x3f) : c; ! #else /* ISO_TRANSLATE & ISO_FILENAMES */ *en++ = c; ! #endif /* ISO_TRANSLATE & ISO_FILENAMES */ ! } else { /* must convert to external form */ if ((c = *in++) == '\0' || (c2 = *in++) == '\0') { *en++ = '|'; *************** *** 935,941 **** #ifndef hpux *en++ = ((cp-hexdigits) << 4) | (cp2-hexdigits); ! #else /* hpux compiler barfs on the above */ *en = ((cp-hexdigits) << 4); *en |= (cp2-hexdigits); --- 938,944 ---- #ifndef hpux *en++ = ((cp-hexdigits) << 4) | (cp2-hexdigits); ! #else /* hpux */ /* hpux compiler barfs on the above */ *en = ((cp-hexdigits) << 4); *en |= (cp2-hexdigits); *************** *** 972,979 **** char *inp; { byte c; /* unsigned char */ ! register char *in = inp; register int cnt = 0; while ((c = *en++) != '\0') { if (isascii(c) && !iscntrl(c) && isprint(c) && c != '/') { --- 975,985 ---- char *inp; { byte c; /* unsigned char */ ! register u_char *in = (u_char *)inp; register int cnt = 0; + #ifdef ISO_TRANSLATE + extern u_char Mac2ISO[]; + #endif ISO_TRANSLATE while ((c = *en++) != '\0') { if (isascii(c) && !iscntrl(c) && isprint(c) && c != '/') { *************** *** 980,990 **** *in++ = c; cnt++; } else { ! /* must convert to */ ! *in++ = ':'; /* : */ ! *in++ = hexdigits[(c >> 4) & 0xf]; ! *in++ = hexdigits[(c & 0xf)]; ! cnt += 3; } } *in++ = '\0'; --- 986,1004 ---- *in++ = c; cnt++; } else { ! #if defined (ISO_TRANSLATE) & defined (ISO_FILENAMES) ! if ((c & 0x80) && (*in = Mac2ISO[c])) { ! cnt += 1; ! in++; ! } else ! #endif /* ISO_TRANSLATE & ISO_FILENAMES */ ! { ! /* must convert to 3 char external form */ ! *in++ = ':'; /* : */ ! *in++ = hexdigits[(c >> 4) & 0xf]; ! *in++ = hexdigits[(c & 0xf)]; ! cnt += 3; ! } } } *in++ = '\0'; *** applications/aufs/afposfi.c.orig Mon Aug 2 19:36:47 1993 --- applications/aufs/afposfi.c Thu Aug 5 01:24:44 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1993/08/02 09:36:36 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afposfi.c,v 2.4 1993/08/02 09:36:36 djh Rel djh $ ! * $Revision: 2.4 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/04 15:23:33 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afposfi.c,v 2.5 1993/08/04 15:23:33 djh Rel djh $ ! * $Revision: 2.5 $ */ /* *************** *** 403,409 **** } else { #endif USR_FILE_TYPES bcopy(uf[ft].ufd_ftype, fndr->file.fdType, sizeof(fndr->file.fdType)); ! bcopy(DEFFCREATOR,fndr->file.fdCreator, sizeof(fndr->file.fdCreator)); bcopy(uf[ft].ufd_comment, fi->fi_comnt, uf[ft].ufd_commentlen); fi->fi_comln = uf[ft].ufd_commentlen; #ifdef USR_FILE_TYPES --- 403,409 ---- } else { #endif USR_FILE_TYPES bcopy(uf[ft].ufd_ftype, fndr->file.fdType, sizeof(fndr->file.fdType)); ! bcopy(uf[ft].ufd_creat,fndr->file.fdCreator,sizeof(fndr->file.fdCreator)); bcopy(uf[ft].ufd_comment, fi->fi_comnt, uf[ft].ufd_commentlen); fi->fi_comln = uf[ft].ufd_commentlen; #ifdef USR_FILE_TYPES *** applications/aufs/afposncs.c.orig Wed Jun 24 09:25:53 1992 --- applications/aufs/afposncs.c Wed Aug 25 01:26:18 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1992/06/23 23:25:43 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afposncs.c,v 2.3 1992/06/23 23:25:43 djh Rel djh $ ! * $Revision: 2.3 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/24 15:26:02 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afposncs.c,v 2.6 1993/08/24 15:26:02 djh Rel djh $ ! * $Revision: 2.6 $ */ /* *************** *** 57,67 **** --- 57,74 ---- private byte pc_from_ascii[1]; #endif SHORT_NAMES #ifdef USR_FILE_TYPES + #ifdef ISO_TRANSLATE + private byte iso[1]; + #endif ISO_TRANSLATE private byte raw[1]; private byte text[1]; private byte ascii[1]; extern struct uft uft[]; #endif USR_FILE_TYPES + #ifdef ISO_TRANSLATE + extern u_char ISO2Mac[]; + extern u_char Mac2ISO[]; + #endif ISO_TRANSLATE #ifdef notdef private byte to_ascii[] = { *************** *** 389,404 **** NCS_TransTable ncs_transtables[] = { #ifdef FULL_NCS_SUPPORT /* Swedish standard D47 translation */ ! NCS_entry("Swedish D47",".swe",NCS_AND,NULL,NULL, to_swe,from_swe), /* Swedish-Finnish standard E47 translation */ ! NCS_entry("Swedish-Finnish E47",".fin",NCS_AND,NULL, NULL, to_fin,from_fin), /* ISO 8859-1 latin1 */ NCS_entry("ISO 8859-1 Latin 1", ".latin1", NCS_AND, NULL, NULL, ! to_latin1,from_latin1), ! #endif ! /* ASCII */ NCS_entry("ascii", NULL, NCS_AND, (byte *)"unix", (byte *)"TEXT", to_ascii, from_ascii), #ifdef SHORT_NAMES NCS_entry("pc-ascii", NULL, NCS_AND, (byte *)"unix", (byte *)"TEXT", pc_to_ascii, pc_from_ascii), --- 396,431 ---- NCS_TransTable ncs_transtables[] = { #ifdef FULL_NCS_SUPPORT /* Swedish standard D47 translation */ ! NCS_entry("Swedish D47",".swe",NCS_AND,NULL,NULL, to_swe, from_swe), /* Swedish-Finnish standard E47 translation */ ! NCS_entry("Swedish-Finnish E47",".fin",NCS_AND,NULL, NULL, to_fin, from_fin), /* ISO 8859-1 latin1 */ NCS_entry("ISO 8859-1 Latin 1", ".latin1", NCS_AND, NULL, NULL, ! to_latin1, from_latin1), ! #endif FULL_NCS_SUPPORT ! ! #if defined (ISO_TRANSLATE) & defined (ISO_FILE_TRANS) ! #ifdef NCS_ALL_TEXT ! /* ISO 8859-1 latin1 translation for all TEXT files */ ! NCS_entry("ISO 8859-1 Latin 1", NULL, NCS_AND, NULL, (byte *)"TEXT", ! Mac2ISO, ISO2Mac), ! #else NCS_ALL_TEXT ! /* ISO 8859-1 latin1 translation for unix/TEXT files */ ! NCS_entry("ISO 8859-1 Latin 1", NULL, NCS_AND, (byte *)"unix", (byte *)"TEXT", ! Mac2ISO, ISO2Mac), ! #endif NCS_ALL_TEXT ! #endif ISO_TRANSLATE & ISO_FILE_TRANS ! ! #ifdef NCS_ALL_TEXT ! /* ASCII translation for all TEXT files */ ! NCS_entry("ascii", NULL, NCS_AND, NULL, (byte *)"TEXT", ! to_ascii, from_ascii), ! #else NCS_ALL_TEXT ! /* ASCII translation for unix/TEXT files */ NCS_entry("ascii", NULL, NCS_AND, (byte *)"unix", (byte *)"TEXT", to_ascii, from_ascii), + #endif NCS_ALL_TEXT + #ifdef SHORT_NAMES NCS_entry("pc-ascii", NULL, NCS_AND, (byte *)"unix", (byte *)"TEXT", pc_to_ascii, pc_from_ascii), *************** *** 587,592 **** --- 614,647 ---- while (cnt--) bp++; #endif SHORT_NAMES + #if defined (USR_FILE_TYPES) & defined (ISO_TRANSLATE) + } else if (tt == iso) { + while (cnt--) { + switch (which) { + case NCS_TRANS_UNIXTOMAC: + *bp = (*bp & 0x80) ? ISO2Mac[*bp & 0x7f] : *bp; + break; + case NCS_TRANS_MACTOUNIX: + *bp = (*bp & 0x80) ? Mac2ISO[*bp & 0x7f] : *bp; + break; + } + bp++; + } + #endif USR_FILE_TYPES & ISO_TRANSLATE + #if defined (ISO_TRANSLATE) & defined (ISO_FILE_TRANS) + } else if ((tt == ISO2Mac) || (tt == Mac2ISO)) { + while (cnt--) { + switch (which) { + case NCS_TRANS_UNIXTOMAC: + *bp = (*bp & 0x80) ? ISO2Mac[*bp & 0x7f] : *bp; + break; + case NCS_TRANS_MACTOUNIX: + *bp = (*bp & 0x80) ? Mac2ISO[*bp & 0x7f] : *bp; + break; + } + bp++; + } + #endif ISO_TRANSLATE & ISO_FILE_TRANS } else { /* standard */ while (cnt--) { *************** *** 622,627 **** --- 677,683 ---- * The file data may be copied unchanged ('raw'), have NL characters * converted to CR and vice-versa ('ascii') or have Mac quote characters * converted to UNIX quotes (but not vice-versa, also implies 'ascii'). + * If ISO_TRANSLATE is defined, also handle Mac <-> ISO translation ('iso'). * * Each file may also have the Macintosh file Creator and Type specified. * For example, .c files can be represented as 'MPS '/'TEXT' files and be *************** *** 684,689 **** --- 740,750 ---- case 'A': case 'a': /* ascii */ uft[uftidx].uft_xlate = ascii; break; + #ifdef ISO_TRANSLATE + case 'I': case 'i': /* ISO */ + uft[uftidx].uft_xlate = iso; + break; + #endif ISO_TRANSLATE default: /* ignore */ continue; break; *** applications/aufs/afpudb.c.orig Wed Jun 24 09:36:06 1992 --- applications/aufs/afpudb.c Thu Aug 5 01:24:47 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1992/06/23 23:35:57 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpudb.c,v 2.2 1992/06/23 23:35:57 djh Rel djh $ ! * $Revision: 2.2 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/04 15:23:33 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpudb.c,v 2.3 1993/08/04 15:23:33 djh Rel djh $ ! * $Revision: 2.3 $ */ /* *************** *** 117,124 **** }; #ifdef SMART_UNIX_FINDERINFO /* other icons */ ! #endif #define FNDR_NOFNDR 0 #define FNDR_DEF 1 --- 117,192 ---- }; #ifdef SMART_UNIX_FINDERINFO + private byte unix_framemaker[] = { + 0x0F,0xFF,0xFE,0x00, /* XXXXXXXXXXXXXXXXXXX */ + 0x08,0x00,0x03,0x00, /* X XX */ + 0x0B,0xFF,0xFE,0x80, /* X XXXXXXXXXXXXXXXXX X */ + 0x0B,0xFF,0xFE,0x40, /* X XXXXXXXXXXXXXXXXX X */ + 0x0B,0xFF,0xFE,0x20, /* X XXXXXXXXXXXXXXXXX X */ + 0x08,0x00,0x02,0x10, /* X X X */ + 0x08,0x40,0x03,0xFA, /* X X XXXXXXX X */ + 0x38,0xA0,0x00,0x08, /* XXX X X X */ + 0x09,0x53,0xF7,0x8F, /* X X X X XXXXXXXXX X XXXX */ + 0xF9,0xB0,0x00,0x0B, /* XXXXX XX XX X XX */ + 0x19,0x53,0x7F,0x4B, /* XX X X X XX XXXXXXX X X XX */ + 0x18,0xA0,0x00,0x08, /* XX X X X */ + 0x18,0x40,0x00,0x0E, /* XX X XXX */ + 0x88,0x07,0xDF,0x48, /* X X XXXXX XXXXX X X */ + 0x28,0x00,0x00,0x0B, /* X X X XX */ + 0x09,0xBE,0xDF,0xCC, /* X XX XXXXX XX XXXXXXX XX */ + 0xA8,0x00,0x00,0x0E, /* X X X XXX */ + 0x49,0xEE,0xFB,0xC8, /* X X XXXX XXX XXXXX XXXX X */ + 0x08,0x00,0x00,0x08, /* X X */ + 0x09,0xDF,0x3D,0xC8, /* X XXX XXXXX XXXX XXX X */ + 0x08,0x00,0x00,0x08, /* X X */ + 0x08,0x00,0x03,0xC8, /* X XXXX X */ + 0x09,0xFA,0xEB,0xC8, /* X XXXXXX X XXX X XXXX X */ + 0x08,0x00,0x03,0xC9, /* X XXXX X X */ + 0x09,0xDF,0x5B,0xCD, /* X XXX XXXXX X XX XXXX XX X */ + 0x48,0x00,0x00,0x0B, /* X X X XX */ + 0x08,0x00,0x00,0x08, /* X X */ + 0x7B,0xFF,0xFF,0xEB, /* XXXX XXXXXXXXXXXXXXXXXXXXX X XX */ + 0x0B,0xFF,0xFF,0xE8, /* X XXXXXXXXXXXXXXXXXXXXX X */ + 0x7B,0xFF,0xFF,0xEE, /* XXXX XXXXXXXXXXXXXXXXXXXXX XXX */ + 0xC8,0x00,0x00,0x08, /* XX X X */ + 0x0F,0xFF,0xFF,0xF8, /* XXXXXXXXXXXXXXXXXXXXXXXXX */ + /* mask */ + 0x0f,0xff,0xfc,0x00, /* XXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xfe,0x00, /* XXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0x00, /* XXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0x80, /* XXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xc0, /* XXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xe0, /* XXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0, /* XXXXXXXXXXXXXXXXXXXXXXXX */ + 0x0f,0xff,0xff,0xf0 /* XXXXXXXXXXXXXXXXXXXXXXXX */ + }; + /* other icons */ ! #endif SMART_UNIX_FINDERINFO #define FNDR_NOFNDR 0 #define FNDR_DEF 1 *************** *** 131,154 **** #define FNDR_ARCHIVE 7 #define FNDR_CPIO 8 #define FNDR_LOCKED 9 #endif SMART_UNIX_FINDERINFO ! struct ufinderdb uf[] = { ! #define deffinfo(c1,c2,c3,c4,com,icon) {{(c1),(c2),(c3),(c4)}, \ (com), sizeof(com)-1, \ (icon), sizeof((icon))} ! {{0, 0, 0, 0}, ""}, ! deffinfo('T','E','X','T', "This is a Unix\252 created file", unix_text), ! deffinfo('D','E','V',' ', "This is a Unix\252 device", NULL), ! deffinfo('S','K','T',' ', "This is a Unix\252 socket", NULL), #ifdef SMART_UNIX_FINDERINFO ! deffinfo('D','A','T','A', "This is a Unix\252 binary file", NULL), ! deffinfo('P','G','R','M', "This is a Unix\252 program", NULL), ! deffinfo('O','B','J',' ', "This is a Unix\252 object file", NULL), ! deffinfo('A','R',' ',' ', "This is a Unix\252 archive file", NULL), ! deffinfo('C','P','I','O', "This is a Unix\252 cpio file", NULL), ! deffinfo('L','C','K','D', "This file is not readable", NULL) ! #endif }; export int uf_len = sizeof(uf)/sizeof(struct ufinderdb); --- 199,236 ---- #define FNDR_ARCHIVE 7 #define FNDR_CPIO 8 #define FNDR_LOCKED 9 + #define FNDR_FRAME 10 #endif SMART_UNIX_FINDERINFO ! #define deffinfo(C1,C2,C3,C4,c1,c2,c3,c4,com,icon) {{(C1),(C2),(C3),(C4)}, \ ! {(c1),(c2),(c3),(c4)}, \ (com), sizeof(com)-1, \ (icon), sizeof((icon))} ! ! struct ufinderdb uf[] = { ! {{0, 0, 0, 0}, {0, 0, 0, 0}, "", 0, NULL, 0}, ! deffinfo('u','n','i','x','T','E','X','T', ! "This is a Unix\252 created file", unix_text), ! deffinfo('u','n','i','x','D','E','V',' ', ! "This is a Unix\252 device", NULL), ! deffinfo('u','n','i','x','S','K','T',' ', ! "This is a Unix\252 socket", NULL), #ifdef SMART_UNIX_FINDERINFO ! deffinfo('u','n','i','x','D','A','T','A', ! "This is a Unix\252 binary file", NULL), ! deffinfo('u','n','i','x','P','G','R','M', ! "This is a Unix\252 program", NULL), ! deffinfo('u','n','i','x','O','B','J',' ', ! "This is a Unix\252 object file", NULL), ! deffinfo('u','n','i','x','A','R',' ',' ', ! "This is a Unix\252 archive file", NULL), ! deffinfo('u','n','i','x','C','P','I','O', ! "This is a Unix\252 cpio file", NULL), ! deffinfo('u','n','i','x','L','C','K','D', ! "This file is not readable", NULL), ! deffinfo('F','r','a','m','F','A','S','L', ! "This is a Unix\252 FrameMaker file", unix_framemaker) ! #endif SMART_UNIX_FINDERINFO }; export int uf_len = sizeof(uf)/sizeof(struct ufinderdb); *************** *** 164,171 **** { #ifdef SMART_UNIX_FINDERINFO char buf[BUFSIZ]; ! int fd; ! #endif int i; if ((stb->st_mode & S_IFMT) == S_IFDIR) /* a directory? */ --- 246,253 ---- { #ifdef SMART_UNIX_FINDERINFO char buf[BUFSIZ]; ! int fd, k, l; ! #endif SMART_UNIX_FINDERINFO int i; if ((stb->st_mode & S_IFMT) == S_IFDIR) /* a directory? */ *************** *** 203,223 **** case 0177555: case 0177545: return(FNDR_ARCHIVE); ! #endif case 070707: return(FNDR_CPIO); } #ifdef BSDSYSTEM if (strncmp(buf, "!\n", sizeof("!\n")-1) == 0) return(FNDR_ARCHIVE); ! #endif #ifndef BIN_FUZZ ! # define BIN_FUZZ BUFSIZ/2 ! #endif ! for (i = 0; i < BIN_FUZZ; i++) ! if (buf[i] & 0x80) ! return(FNDR_BIN); ! #endif #ifdef USR_FILE_TYPES if ((i = uft_match(path)) >= 0) return(i+FNDR_UFT); --- 285,309 ---- case 0177555: case 0177545: return(FNDR_ARCHIVE); ! #endif BSDSYSTEM case 070707: return(FNDR_CPIO); } + if (strncmp(buf, "\n", sizeof("!\n")-1) == 0) return(FNDR_ARCHIVE); ! #endif BSDSYSTEM #ifndef BIN_FUZZ ! # define BIN_FUZZ BUFSIZ/3 ! #endif BIN_FUZZ ! for (k = 0, l = 0; k < i; k++) ! if (buf[k] & 0x80) ! l++; ! if (l > BIN_FUZZ) ! return(FNDR_BIN); ! #endif SMART_UNIX_FINDERINFO #ifdef USR_FILE_TYPES if ((i = uft_match(path)) >= 0) return(i+FNDR_UFT); *** applications/aufs/afpudb.h.orig Wed Jun 24 09:38:03 1992 --- applications/aufs/afpudb.h Thu Aug 5 01:24:50 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1992/06/23 23:37:47 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpudb.h,v 2.2 1992/06/23 23:37:47 djh Rel djh $ ! * $Revision: 2.2 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/04 15:23:33 $ ! * $Header: /mac/src/cap60/applications/aufs/RCS/afpudb.h,v 2.3 1993/08/04 15:23:33 djh Rel djh $ ! * $Revision: 2.3 $ */ /* *************** *** 20,25 **** --- 20,26 ---- */ struct ufinderdb { + byte ufd_creat[4]; byte ufd_ftype[4]; char *ufd_comment; int ufd_commentlen; *** extras/afpfile.orig Wed Jun 24 09:42:34 1992 --- extras/afpfile Mon Aug 23 22:40:40 1993 *************** *** 6,11 **** --- 6,12 ---- # The available forms of translation are # Ascii, map LF to CR and vice versa # Text, map Mac quotes to UNIX quotes (not vice-versa, implies Ascii) + # Iso, map to/from ISO 8859 characters (requires ISO_TRANSLATE) # Raw, no translation # # EXTN XLate CREAT TYPE Comment *** CAP60.README.orig Wed Aug 25 01:07:41 1993 --- CAP60.README Wed Aug 25 01:09:49 1993 *************** *** 186,191 **** --- 186,204 ---- Likewise translate Macintosh characters to ISO 8859 for etalk.local zone name, log file entries. Austin Shelton + ISO_FILENAMES + Extend ISO/Mac character translation to AUFS file names + (assumes ISO_TRANSLATE is in use) + Dan Oscarsson + ISO_FILE_TRANS + Translate ISO 8859 characters in Creator "unix", Type + "TEXT" AUFS files into Mac characters on read and vice + versa on write (assumes ISO_TRANSLATE is in use). + Dan Oscarsson + NCS_ALL_TEXT + Apply ASCII or ISO 8859 file translation to all files of + type "TEXT", regardless of Creator. + Dan Oscarsson PASS_THRU If defined for LWSRV, print jobs will be passed through with no Adobe pre-processing. This is useful for spoolers *** Configure.orig Wed Aug 4 02:22:10 1993 --- Configure Thu Aug 5 01:28:07 1993 *************** *** 1,7 **** #!/bin/sh ! # $Author: djh $ $Date: 1993/08/03 16:22:06 $ ! # $Header: /mac/src/cap60/RCS/Configure,v 2.58 1993/08/03 16:22:06 djh Rel djh $ ! # $Revision: 2.58 $ # CAP configuration shell script. This ain't perfect, but it's a start. # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) # --- 1,7 ---- #!/bin/sh ! # $Author: djh $ $Date: 1993/08/04 15:27:52 $ ! # $Header: /mac/src/cap60/RCS/Configure,v 2.59 1993/08/04 15:27:52 djh Rel djh $ ! # $Revision: 2.59 $ # CAP configuration shell script. This ain't perfect, but it's a start. # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) # *************** *** 754,764 **** # + CREATE_AFPVOL_NAME use the user name for the volume (modifies CREATE_AFPVOL) # define(`specialcflags',concat(specialcflags,` -DCREATE_AFPVOL_NAME')) # ! # + ISO_TRANSLATE perform Macintosh/ISO 8859 character translation # define(`specialcflags',concat(specialcflags,` -DISO_TRANSLATE')) # # # # AUFS definable options (previously required editing m4.setup) # # + NONLXLATE for aufs --- 754,770 ---- # + CREATE_AFPVOL_NAME use the user name for the volume (modifies CREATE_AFPVOL) # define(`specialcflags',concat(specialcflags,` -DCREATE_AFPVOL_NAME')) # ! # + ISO_TRANSLATE use Macintosh/ISO 8859 character translation on I/O # define(`specialcflags',concat(specialcflags,` -DISO_TRANSLATE')) # + # + ISO_FILENAMES extend ISO translation to filenames (assumes ISO_TRANSLATE) + # define(`specialcflags',concat(specialcflags,` -DISO_FILENAMES')) # + # + ISO_FILE_TRANS use ISO translation on unix/TEXT file contents + # define(`specialcflags',concat(specialcflags,` -DISO_FILE_TRANS')) # + # + # # AUFS definable options (previously required editing m4.setup) # # + NONLXLATE for aufs *************** *** 766,771 **** --- 772,780 ---- # # + FULL_NCS_SUPPORT (National Character Support) for aufs # define(`aufsosflags',concat(aufsosflags,` -DFULL_NCS_SUPPORT')) + # + # + NCS_ALL_TEXT perform specified translation on any TEXT file + # define(`aufsosflags',concat(aufsosflags,` -DNCS_ALL_TEXT')) # # + GGTYPE="gid_t" (group ID type) for AUFS # define(`aufsosflags',concat(aufsosflags,` -DGGTYPE="gid_t"')) *** lib/cap/abversion.c.orig Wed Aug 4 02:30:46 1993 --- lib/cap/abversion.c Thu Aug 5 01:29:10 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1993/08/03 16:30:39 $ ! * $Header: /mac/src/cap60/lib/cap/RCS/abversion.c,v 2.50 1993/08/03 16:30:39 djh Rel djh $ ! * $Revision: 2.50 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/08/04 15:29:04 $ ! * $Header: /mac/src/cap60/lib/cap/RCS/abversion.c,v 2.51 1993/08/04 15:29:04 djh Rel djh $ ! * $Revision: 2.51 $ */ /* *************** *** 31,37 **** myversion.cv_name = "CAP"; myversion.cv_version = 6; myversion.cv_subversion = 0; ! myversion.cv_patchlevel = 150; myversion.cv_rmonth = "August"; myversion.cv_ryear = "1993"; switch (lap_proto) { --- 31,37 ---- myversion.cv_name = "CAP"; myversion.cv_version = 6; myversion.cv_subversion = 0; ! myversion.cv_patchlevel = 151; myversion.cv_rmonth = "August"; myversion.cv_ryear = "1993"; switch (lap_proto) { *** README.orig Wed Aug 4 02:31:37 1993 --- README Thu Aug 5 01:30:24 1993 *************** *** 2,8 **** CAP - Columbia AppleTalk Package for UNIX o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 150, August 1993 Notice ------ --- 2,8 ---- CAP - Columbia AppleTalk Package for UNIX o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 151, August 1993 Notice ------