summaryrefslogtreecommitdiff
path: root/src/htsfilters.c
diff options
context:
space:
mode:
authorXavier Roche <xroche@users.noreply.github.com>2013-05-14 19:20:14 +0000
committerXavier Roche <xroche@users.noreply.github.com>2013-05-14 19:20:14 +0000
commit0573b166b2aa2ee40be1a328636cb539d96aeeac (patch)
tree60225c1335ff26c5e4f29bc7043548daa44c7d73 /src/htsfilters.c
parenteaef7eb1f7ae092d73eeffa245ab418d70748fdf (diff)
Merge sources from windows-1252 to utf-8
Diffstat (limited to 'src/htsfilters.c')
-rw-r--r--src/htsfilters.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/src/htsfilters.c b/src/htsfilters.c
index 68d66f5..4cc740b 100644
--- a/src/htsfilters.c
+++ b/src/htsfilters.c
@@ -55,9 +55,9 @@ Please visit our Website: http://www.httrack.com
#include <ctype.h>
/* END specific definitions */
-// à partir d'un tableau de {"+*.toto","-*.zip","+*.tata"} définit si nom est autorisé
-// optionnel: taille à contrôller (ou numéro, etc) en pointeur
-// (en de détection de *size, la taille limite est écrite par dessus *size)
+// à partir d'un tableau de {"+*.toto","-*.zip","+*.tata"} définit si nom est autorisé
+// optionnel: taille à contrôller (ou numéro, etc) en pointeur
+// (en de détection de *size, la taille limite est écrite par dessus *size)
// exemple: +-*.gif*[<5] == supprimer GIF si <5KB
int fa_strjoker(int type,char** filters,int nfil,char* nom,LLint* size,int* size_flag,int* depth) {
int verdict = 0; // on sait pas
@@ -83,7 +83,7 @@ int fa_strjoker(int type,char** filters,int nfil,char* nom,LLint* size,int* size
if (sz != *size)
sizelimit=sz;
if (filters[i][0]=='+')
- verdict = 1; // autorisé
+ verdict = 1; // autorisé
else
verdict = -1; // interdit
if (depth)
@@ -98,12 +98,12 @@ int fa_strjoker(int type,char** filters,int nfil,char* nom,LLint* size,int* size
// supercomparateur joker (tm)
// compare a et b (b=avec joker dedans), case insensitive [voir CI]
-// renvoi l'adresse de la première lettre de la chaine
-// (càd *[..]toto.. renvoi adresse de toto dans la chaine)
-// accepte les délires du genre www.*.*/ * / * truc*.*
-// cet algo est 'un peu' récursif mais ne consomme pas trop de tm
+// renvoi l'adresse de la première lettre de la chaine
+// (càd *[..]toto.. renvoi adresse de toto dans la chaine)
+// accepte les délires du genre www.*.*/ * / * truc*.*
+// cet algo est 'un peu' récursif mais ne consomme pas trop de tm
// * = toute lettre
-// --?-- : spécifique à HTTrack et aux ?
+// --?-- : spécifique à HTTrack et aux ?
HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
//int err=0;
if (strnotempty(joker)==0) { // fin de chaine joker
@@ -112,20 +112,20 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
else if (chaine[0]=='?')
return chaine; // --?-- pour les index.html?Choix=2
else
- return NULL; // non trouvé
+ return NULL; // non trouvé
}
// on va progresser en suivant les 'mots' contenus dans le joker
- // un mot peut être un * ou bien toute autre séquence de lettres
+ // un mot peut être un * ou bien toute autre séquence de lettres
- if (strcmp(joker,"*")==0) { // ok, rien après
+ if (strcmp(joker,"*")==0) { // ok, rien après
return chaine;
}
// 1er cas: jokers * ou jokers multiples *[..]
if (joker[0]=='*') { // comparer joker+reste (*toto/..)
- int jmp; // nombre de caractères pour le prochain mot dans joker
- int cut = 0; // interdire tout caractère superflu
+ int jmp; // nombre de caractères pour le prochain mot dans joker
+ int cut = 0; // interdire tout caractère superflu
char pass[256];
char LEFT='[',RIGHT=']';
int unique=0;
@@ -147,7 +147,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
int i;
for(i=0;i<256;i++) pass[i]=0;
- // noms réservés
+ // noms réservés
if ((strfield(joker+2,"file")) || (strfield(joker+2,"name"))) {
for(i=0;i<256;i++) pass[i]=1;
pass[(int) '?'] = 0;
@@ -166,7 +166,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
while ((joker[i]!=RIGHT) && (joker[i]) && (i<len)) i++;
}
} else if (strfield(joker+2,"param")) {
- if (chaine[0]=='?') { // il y a un paramètre juste là
+ if (chaine[0]=='?') { // il y a un paramètre juste là
for(i=0;i<256;i++) pass[i]=1;
} // sinon synonyme de 'rien'
i=2;
@@ -174,10 +174,10 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
while ((joker[i]!=RIGHT) && (joker[i]) && (i<len)) i++;
}
} else {
- // décode les directives comme *[A-Z,âêîôû,0-9]
+ // décode les directives comme *[A-Z,âêîôû,0-9]
i=2;
- if (joker[i] == RIGHT) { // *[] signifie "plus rien après"
- cut = 1; // caractère supplémentaire interdit
+ if (joker[i] == RIGHT) { // *[] signifie "plus rien après"
+ cut = 1; // caractère supplémentaire interdit
} else {
int len=(int) strlen(joker);
while ((joker[i]!=RIGHT) && (joker[i]) && (i<len)) {
@@ -189,7 +189,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
if (size) {
if (*size>=0) {
if (size_flag)
- *size_flag=1; /* a joué */
+ *size_flag=1; /* a joué */
if (joker[i-1]=='<')
lverdict=(*size<lsize);
else
@@ -228,7 +228,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
}
}
}
- // à sauter dans joker
+ // à sauter dans joker
jmp=i;
if (joker[i]) jmp++;
@@ -254,7 +254,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
}
// comparaison en boucle, c'est ca qui consomme huhu..
- // le tableau pass[256] indique les caractères ASCII autorisés
+ // le tableau pass[256] indique les caractères ASCII autorisés
// tester sans le joker (pas ()+ mais ()*)
if (!unique) {
@@ -270,7 +270,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
else /* *(a) only match a (not aaaaa) */
max=1;
while(i<(int) max) {
- if (pass[(int) (unsigned char) chaine[i]]) { // caractère autorisé
+ if (pass[(int) (unsigned char) chaine[i]]) { // caractère autorisé
if ( (adr=strjoker(chaine+i+1,joker+jmp,size,size_flag)) ) {
return adr;
}
@@ -278,7 +278,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
} else i=max+2; // sortir
}
- // tester chaîne vide
+ // tester chaîne vide
if (i!=max+2) // avant c'est ok
if ( (adr=strjoker(chaine+max,joker+jmp,size,size_flag)) )
return adr;
@@ -290,7 +290,7 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
if (strnotempty(chaine)) {
int jmp=0,ok=1;
- // comparer début de joker et début de chaine
+ // comparer début de joker et début de chaine
while((joker[jmp]!='*') && (joker[jmp]) && (ok)) {
// CI : remplacer streql par une comparaison !=
if (!streql(chaine[jmp],joker[jmp])) {
@@ -314,13 +314,13 @@ HTS_INLINE char* strjoker(char* chaine,char* joker,LLint* size,int* size_flag) {
}
// recherche multiple
-// exemple: find dans un texte de strcpybuff(*[A-Z,a-z],"*[0-9]"); va rechercher la première occurence
+// exemple: find dans un texte de strcpybuff(*[A-Z,a-z],"*[0-9]"); va rechercher la première occurence
// d'un strcpy sur une variable ayant un nom en lettres et copiant une chaine de chiffres
-// ATTENTION!! Eviter les jokers en début, où gare au temps machine!
+// ATTENTION!! Eviter les jokers en début, où gare au temps machine!
char* strjokerfind(char* chaine,char* joker) {
char* adr;
while(*chaine) {
- if ( (adr=strjoker(chaine,joker,NULL,NULL)) ) { // ok trouvé
+ if ( (adr=strjoker(chaine,joker,NULL,NULL)) ) { // ok trouvé
return adr;
}
chaine++;