Short: Patch for Unix-LhA on DECstations Type: util/arc Uploader: wiedmann@mailserv.zdv.uni-tuebingen.de Unix-LhA on DECstations has a bug when archiving directories recursively. The reason is a problem in C with char vs. unsigned char. The problem is fixed, if you replace the function call rindex(.., DELIM2) with rindex(.., (char) DELIM2) in src/header.c three times. I include a patchfile below. Jochen *** lha-1.00.orig/src/header.c Thu Apr 9 16:43:14 1992 --- lha-1.00/src/header.c Wed Nov 10 09:01:29 1993 *************** *** 701,705 **** --- 701,709 ---- if (hdr->header_level != HEADER_LEVEL2) { + #ifndef ultrix if (p = (char *)rindex(hdr->name, DELIM2)) + #else + if (p = (char *)rindex(hdr->name, (char) DELIM2)) + #endif name_length = strlen(++p); else *************** *** 745,749 **** --- 749,757 ---- put_word(hdr->unix_gid); put_word(hdr->unix_uid); + #ifndef ultrix if (p = (char *)rindex(hdr->name, DELIM2)) + #else + if (p = (char *)rindex(hdr->name, (char) DELIM2)) + #endif { int i; *************** *** 770,774 **** --- 778,786 ---- { int i; + #ifndef ultrix if (p = (char *)rindex(hdr->name, DELIM2)) + #else + if (p = (char *)rindex(hdr->name, DELIM2)) + #endif name_length = strlen(++p); else