diff options
author | Xavier Roche <xroche@users.noreply.github.com> | 2012-03-19 13:04:25 +0000 |
---|---|---|
committer | Xavier Roche <xroche@users.noreply.github.com> | 2012-03-19 13:04:25 +0000 |
commit | 388b7dee2a2d558c0ee576a9213b5ea422a56c77 (patch) | |
tree | 4c0f66930ae08593dd39134395b42bcec7a15d61 /src/htswizard.c | |
parent | 0183f4dd84d8cc44d617fb48436881e79e2bf0f2 (diff) |
httrack 3.45.1
Diffstat (limited to 'src/htswizard.c')
-rw-r--r-- | src/htswizard.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/htswizard.c b/src/htswizard.c index 403ce34..382fbb3 100644 --- a/src/htswizard.c +++ b/src/htswizard.c @@ -393,15 +393,20 @@ static int hts_acceptlink_(httrackp* opt, switch((opt->travel & 255)) { case 0: if (!opt->wizard) // mode non wizard - forbidden_url=1; break; // interdicton de sortir au dela de l'adresse + forbidden_url=1; + break; // interdicton de sortir au dela de l'adresse case 1: { // sortie sur le même dom.xxx size_t i = strlen(adr)-1; size_t j = strlen(urladr)-1; - while( (i>0) && (adr[i]!='.')) i--; - while( (j>0) && (urladr[j]!='.')) j--; - i--; j--; - while( (i>0) && (adr[i]!='.')) i--; - while( (j>0) && (urladr[j]!='.')) j--; + if ((i>0) && (j>0)) { + while( (i>0) && (adr[i]!='.')) i--; + while( (j>0) && (urladr[j]!='.')) j--; + if ((i>0) && (j>0)) { + i--; j--; + while( (i>0) && (adr[i]!='.')) i--; + while( (j>0) && (urladr[j]!='.')) j--; + } + } if ((i>0) && (j>0)) { if (!strfield2(adr+i,urladr+j)) { // != if (!opt->wizard) { // mode non wizard @@ -425,7 +430,7 @@ static int hts_acceptlink_(httrackp* opt, } else forbidden_url=1; - } + } break; case 2: { // sortie sur le même .xxx size_t i = strlen(adr)-1; @@ -452,7 +457,7 @@ static int hts_acceptlink_(httrackp* opt, } } } else forbidden_url=1; - } + } break; case 7: // everywhere!! if (opt->wizard) { // mode wizard |