From 470f75f1f8375d26795078ddbbd5f5e0133f9c10 Mon Sep 17 00:00:00 2001 From: Emanuel Haupt Date: Fri, 24 Nov 2006 23:49:46 +0000 Subject: Provide a patch that moves 'found_trav' variable initialisations to the start of code blocks to drop gcc 3.2 dependency on 4.x. Bump PORTREVISION. PR: 105832 Submitted by: Eugene Grosbein --- archivers/unzoo/Makefile | 4 +--- archivers/unzoo/files/patch-unzoo.c | 48 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 archivers/unzoo/files/patch-unzoo.c (limited to 'archivers') diff --git a/archivers/unzoo/Makefile b/archivers/unzoo/Makefile index 13781aae7d93..8a2de1846d69 100644 --- a/archivers/unzoo/Makefile +++ b/archivers/unzoo/Makefile @@ -7,7 +7,7 @@ PORTNAME= unzoo PORTVERSION= 4.4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= archivers MASTER_SITES= ${MASTER_SITE_DEBIAN_POOL} DISTNAME= ${PORTNAME}_${PORTVERSION}.orig @@ -19,8 +19,6 @@ PATCH_DIST_STRIP= -p1 MAINTAINER= ehaupt@FreeBSD.org COMMENT= A zoo archive extractor -USE_GCC= 3.2+ - EXTRA_DEFINES= -DSYS_IS_UNIX -DSYS_HAS_MKDIR MAN1= unzoo.1 diff --git a/archivers/unzoo/files/patch-unzoo.c b/archivers/unzoo/files/patch-unzoo.c new file mode 100644 index 000000000000..c111a57e6c0e --- /dev/null +++ b/archivers/unzoo/files/patch-unzoo.c @@ -0,0 +1,48 @@ +--- unzoo.c.orig Sat Nov 25 00:53:57 2006 ++++ unzoo.c Sat Nov 25 01:00:42 2006 +@@ -2590,20 +2590,20 @@ + /* 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 @@ + 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 @@ + 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); -- cgit v1.2.3