# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= unzoo VERSION= 4.4 KEYWORDS= archivers VARIANTS= standard SDESC[standard]= ZOO archive extractor HOMEPAGE= http://freshmeat.sourceforge.net/projects/unzoo/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= FREELOCAL/ehaupt DISTFILE[1]= unzoo_4.4.orig.tar.gz:main DISTFILE[2]= unzoo_4.4-4.diff.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none USES= cpe EXTRACT_DIRTY= 1 LICENSE= PUBDOM:single LICENSE_FILE= PUBDOM:{{WRKSRC}}/debian/copyright LICENSE_SCHEME= solo FPC_EQUIVALENT= archivers/unzoo PATCHFILES= 2 PATCHFILES_STRIP= -p1 CFLAGS= -DSYS_IS_UNIX -DSYS_HAS_MKDIR -trigraphs do-build: cd ${WRKSRC} && ${CC} ${CFLAGS} -o unzoo unzoo.c do-install: ${INSTALL_PROGRAM} ${WRKSRC}/unzoo ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/debian/unzoo.1 \ ${STAGEDIR}${MANPREFIX}/man/man1 [FILE:195:descriptions/desc.single] Unzoo is a zoo archive extractor written by Martin Schoenert. If unzoo is called with no arguments, it will first print a summary of the commands and then prompt for command lines interactively. [FILE:198:distinfo] 977bb2147a52370d3fce87947f66ea18eb927654d732f685d977a1f68ac35ef6 25737 unzoo_4.4.orig.tar.gz 67b8e05465448cfad88c20dfebc4cce9b3fc62326231a83f3e3fb41ab746d283 8567 unzoo_4.4-4.diff.gz [FILE:36:manifests/plist.single] bin/unzoo share/man/man1/unzoo.1.gz [FILE:2220:patches/patch-unzoo.c] --- unzoo.c.orig 2021-01-10 02:37:57 UTC +++ unzoo.c @@ -949,7 +949,7 @@ int MacOpenWritBinr ( patl ) return 0; } fndrInfo.ioFlFndrInfo.fdType = 'BINA'; - fndrInfo.ioFlFndrInfo.fdCreator = '????'; + fndrInfo.ioFlFndrInfo.fdCreator = '____'; if ( PBSetFInfo( (ParmBlkPtr)&fndrInfo, 0 ) ) { return 0; } @@ -2590,20 +2590,20 @@ int ExtrArch ( bim, out, ovr /* but only if the user did not request otherwise */ /* building the universal path of this member */ + int found_trav = 0; char patu [sizeof(Entry.diru) + sizeof(Entry.namu) + 2]; strcpy( patu, Entry.diru ); if ( strlen(patu) && patu[strlen(patu)-1] != '/') strcat( patu, "/" ); strcat( patu, (Entry.lnamu ? Entry.namu : Entry.nams) ); - int found_trav = 0; if ( strstr( patu, "/../" )) { - found_trav = 1; /* remove "/../" from the path */ char tmp [sizeof(patu)]; char *p; char *q; + found_trav = 1; memset(tmp, 0, sizeof(tmp)); q = patu; @@ -2625,10 +2625,10 @@ int ExtrArch ( bim, out, ovr printf("unzoo: skipped \"/../\" path component(s) in '%s'\n", Entry.patl); } if ( *patu == '/' && !strlen( pre ) ) { - found_trav = 1; char *p = malloc(sizeof(patu)); char *q = p; + found_trav = 1; memset(p, 0, sizeof(patu)); strcpy(p, patu); while ( q[0] == '/' ) q++; @@ -2638,9 +2638,9 @@ int ExtrArch ( bim, out, ovr printf("unzoo: skipped root directory path component in '%s'\n", patl); } if ( !strncmp( patu, "../", 3 )) { - found_trav = 1; char tmp [sizeof(patu)]; + found_trav = 1; memset(tmp, 0, sizeof(tmp)); strcpy(tmp, patu + 3); strcpy(patu, tmp);