From cefcc0426613cc761373e785980c87c77f8a8cb5 Mon Sep 17 00:00:00 2001 From: Xavier Roche Date: Fri, 23 May 2014 21:33:43 +0000 Subject: "const correctness" cleanup added the following default flags: -Wformat -Wformat-security -Wmultichar -Wwrite-strings fixed several other warnings --- src/htsalias.c | 4 ++-- src/htsalias.h | 2 +- src/htsback.c | 48 +++++++++++++++++++++++----------------------- src/htsback.h | 18 ++++++++--------- src/htsbauth.c | 52 +++++++++++++++++++++++++------------------------- src/htsbauth.h | 24 ++++++++++++----------- src/htscache.c | 10 +++++----- src/htsconcat.c | 2 +- src/htscore.h | 8 ++++---- src/htsfilters.c | 10 +++++----- src/htsfilters.h | 6 +++--- src/htsftp.c | 4 ++-- src/htsftp.h | 2 +- src/htshelp.c | 14 +++++++------- src/htshelp.h | 8 ++++---- src/htsindex.c | 6 +++--- src/htsjava.c | 9 +++++---- src/htslib.c | 44 +++++++++++++++++++++--------------------- src/htslib.h | 19 +++++++++--------- src/htsname.c | 2 +- src/htsopt.h | 2 +- src/htsparse.c | 18 ++++++++--------- src/htsrobots.c | 6 +++--- src/htsrobots.h | 4 ++-- src/htsserver.c | 41 ++++++++++++++++++++------------------- src/htsserver.h | 10 +++++----- src/htstools.c | 19 +++++++++--------- src/htstools.h | 2 +- src/htsweb.c | 2 +- src/htswizard.c | 28 +++++++++++++++------------ src/htswizard.h | 7 ++++--- src/httrack-library.h | 4 ++-- src/proxy/proxytrack.h | 4 ++-- src/proxy/store.c | 2 +- 34 files changed, 225 insertions(+), 216 deletions(-) (limited to 'src') diff --git a/src/htsalias.c b/src/htsalias.c index 19b7857..b1a7962 100644 --- a/src/htsalias.c +++ b/src/htsalias.c @@ -560,8 +560,8 @@ int optinclude_file(const char *name, int *argc, char **argv, char *x_argvblk, /* Get home directory, '.' if failed */ /* example: /home/smith */ -char *hts_gethome(void) { - char *home = getenv("HOME"); +const char *hts_gethome(void) { + const char *home = getenv("HOME"); if (home) return home; diff --git a/src/htsalias.h b/src/htsalias.h index b77885d..b09d18f 100644 --- a/src/htsalias.h +++ b/src/htsalias.h @@ -48,7 +48,7 @@ const char *optreal_value(int p); const char *optalias_value(int p); const char *opttype_value(int p); const char *opthelp_value(int p); -char *hts_gethome(void); +const char *hts_gethome(void); void expand_home(String * str); #endif diff --git a/src/htsback.c b/src/htsback.c index d5d7c10..80cfb77 100644 --- a/src/htsback.c +++ b/src/htsback.c @@ -117,7 +117,7 @@ void back_delete_all(httrackp * opt, cache_back * cache, struct_back * sback) { while((item = inthash_enum_next(&e))) { #ifndef HTS_NO_BACK_ON_DISK - char *filename = (char *) item->value.ptr; + const char *filename = (char *) item->value.ptr; if (filename != NULL) { (void) UNLINK(filename); @@ -139,19 +139,19 @@ void back_delete_all(httrackp * opt, cache_back * cache, struct_back * sback) { // --- // routines de backing -static int back_index_ready(httrackp * opt, struct_back * sback, char *adr, - char *fil, char *sav, int getIndex); -static int back_index_fetch(httrackp * opt, struct_back * sback, char *adr, - char *fil, char *sav, int getIndex); +static int back_index_ready(httrackp * opt, struct_back * sback, const char *adr, + const char *fil, const char *sav, int getIndex); +static int back_index_fetch(httrackp * opt, struct_back * sback, const char *adr, + const char *fil, const char *sav, int getIndex); // retourne l'index d'un lien dans un tableau de backing -int back_index(httrackp * opt, struct_back * sback, char *adr, char *fil, - char *sav) { +int back_index(httrackp * opt, struct_back * sback, const char *adr, const char *fil, + const char *sav) { return back_index_fetch(opt, sback, adr, fil, sav, 1); } -static int back_index_fetch(httrackp * opt, struct_back * sback, char *adr, - char *fil, char *sav, int getIndex) { +static int back_index_fetch(httrackp * opt, struct_back * sback, const char *adr, + const char *fil, const char *sav, int getIndex) { lien_back *const back = sback->lnk; const int back_max = sback->count; int index = -1; @@ -177,8 +177,8 @@ static int back_index_fetch(httrackp * opt, struct_back * sback, char *adr, } /* resurrect stored entry */ -static int back_index_ready(httrackp * opt, struct_back * sback, char *adr, - char *fil, char *sav, int getIndex) { +static int back_index_ready(httrackp * opt, struct_back * sback, const char *adr, + const char *fil, const char *sav, int getIndex) { lien_back *const back = sback->lnk; void *ptr = NULL; @@ -194,7 +194,7 @@ static int back_index_ready(httrackp * opt, struct_back * sback, char *adr, #ifndef HTS_NO_BACK_ON_DISK FILE *fp; - char *fileback = (char *) ptr; + const char *fileback = (char *) ptr; char catbuff[CATBUFF_SIZE]; if ((fp = FOPEN(fconv(catbuff, sizeof(catbuff), fileback), "rb")) != NULL) { @@ -420,8 +420,8 @@ int back_done_incache(struct_back * sback) { } // le lien a-t-il été mis en backing? -HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, char *adr, - char *fil, char *sav) { +HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, const char *adr, + const char *fil, const char *sav) { return (back_index_fetch(opt, sback, adr, fil, sav, /*don't fetch */ 0) >= 0); } @@ -515,7 +515,7 @@ int back_finalize(httrackp * opt, cache_back * cache, struct_back * sback, && (back[p].r.statuscode > 0) // not internal error ) { if (!back[p].testmode) { // not test mode - char *state = "unknown"; + const char *state = "unknown"; /* décompression */ #if HTS_USEZLIB @@ -980,7 +980,7 @@ int back_unserialize(FILE * fp, lien_back ** dst) { /* serialize a reference ; used to store references of files being downloaded in case of broken download */ /* Note: NOT utf-8 */ int back_serialize_ref(httrackp * opt, const lien_back * src) { - char *filename = + const char *filename = url_savename_refname_fullpath(opt, src->url_adr, src->url_fil); FILE *fp = fopen(filename, "wb"); @@ -1010,9 +1010,9 @@ int back_serialize_ref(httrackp * opt, const lien_back * src) { } /* unserialize a reference ; used to store references of files being downloaded in case of broken download */ -int back_unserialize_ref(httrackp * opt, const char *adr, const char *fil, +int back_unserialize_ref(httrackp * opt, const const char *adr, const const char *fil, lien_back ** dst) { - char *filename = url_savename_refname_fullpath(opt, adr, fil); + const char *filename = url_savename_refname_fullpath(opt, adr, fil); FILE *fp = FOPEN(filename, "rb"); if (fp != NULL) { @@ -1148,7 +1148,7 @@ int back_trylive(httrackp * opt, cache_back * cache, struct_back * sback, } /* search for a live position, or, if not possible, try to return a new one */ -int back_searchlive(httrackp * opt, struct_back * sback, char *search_addr) { +int back_searchlive(httrackp * opt, struct_back * sback, const char *search_addr) { lien_back *const back = sback->lnk; const int back_max = sback->count; int i; @@ -1400,8 +1400,8 @@ int back_stack_available(struct_back * sback) { // ajouter un lien en backing int back_add_if_not_exists(struct_back * sback, httrackp * opt, - cache_back * cache, char *adr, char *fil, char *save, - char *referer_adr, char *referer_fil, int test) { + cache_back * cache, const char *adr, const char *fil, const char *save, + const char *referer_adr, const char *referer_fil, int test) { back_clean(opt, cache, sback); /* first cleanup the backlog to ensure that we have some entry left */ if (!back_exist(sback, opt, adr, fil, save)) { return back_add(sback, opt, cache, adr, fil, save, referer_adr, referer_fil, @@ -1410,8 +1410,8 @@ int back_add_if_not_exists(struct_back * sback, httrackp * opt, return 0; } -int back_add(struct_back * sback, httrackp * opt, cache_back * cache, char *adr, - char *fil, char *save, char *referer_adr, char *referer_fil, +int back_add(struct_back * sback, httrackp * opt, cache_back * cache, const char *adr, + const char *fil, const char *save, const char *referer_adr, const char *referer_fil, int test) { lien_back *const back = sback->lnk; const int back_max = sback->count; @@ -1974,7 +1974,7 @@ int back_add(struct_back * sback, httrackp * opt, cache_back * cache, char *adr, printf("ok, dns cache ready..\n"); #endif soc = - http_xfopen(opt, 0, 0, 0, back[p].send_too, adr, fil, &(back[p].r)); + http_xfopen(opt, 0, 0, 0, back[p].send_too, adr, fil, &back[p].r); if (soc == INVALID_SOCKET) { back[p].status = STATUS_READY; // fini, erreur back_set_finished(sback, p); diff --git a/src/htsback.h b/src/htsback.h index 1da5450..776214c 100644 --- a/src/htsback.h +++ b/src/htsback.h @@ -74,21 +74,21 @@ void back_free(struct_back ** sback); // backing #define BACK_ADD_TEST "(dummy)" #define BACK_ADD_TEST2 "(dummy2)" -int back_index(httrackp * opt, struct_back * sback, char *adr, char *fil, - char *sav); +int back_index(httrackp * opt, struct_back * sback, const char *adr, const char *fil, + const char *sav); int back_available(struct_back * sback); LLint back_incache(struct_back * sback); int back_done_incache(struct_back * sback); -HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, char *adr, - char *fil, char *sav); +HTS_INLINE int back_exist(struct_back * sback, httrackp * opt, const char *adr, + const char *fil, const char *sav); int back_nsoc(struct_back * sback); int back_nsoc_overall(struct_back * sback); -int back_add(struct_back * sback, httrackp * opt, cache_back * cache, char *adr, - char *fil, char *save, char *referer_adr, char *referer_fil, +int back_add(struct_back * sback, httrackp * opt, cache_back * cache, const char *adr, + const char *fil, const char *save, const char *referer_adr, const char *referer_fil, int test); int back_add_if_not_exists(struct_back * sback, httrackp * opt, - cache_back * cache, char *adr, char *fil, char *save, - char *referer_adr, char *referer_fil, int test); + cache_back * cache, const char *adr, const char *fil, const char *save, + const char *referer_adr, const char *referer_fil, int test); int back_stack_available(struct_back * sback); int back_search(httrackp * opt, struct_back * sback); int back_search_quick(struct_back * sback); @@ -99,7 +99,7 @@ void back_wait(struct_back * sback, httrackp * opt, cache_back * cache, TStamp stat_timestart); int back_letlive(httrackp * opt, cache_back * cache, struct_back * sback, const int p); -int back_searchlive(httrackp * opt, struct_back * sback, char *search_addr); +int back_searchlive(httrackp * opt, struct_back * sback, const char *search_addr); void back_connxfr(htsblk * src, htsblk * dst); void back_move(lien_back * src, lien_back * dst); void back_copy_static(const lien_back * src, lien_back * dst); diff --git a/src/htsbauth.c b/src/htsbauth.c index da0ef1d..9d9ea7c 100644 --- a/src/htsbauth.c +++ b/src/htsbauth.c @@ -44,8 +44,8 @@ Please visit our Website: http://www.httrack.com // gestion des cookie // ajoute, dans l'ordre // !=0 : erreur -int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value, - char *domain, char *path) { +int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value, + const char *domain, const char *path) { char buffer[8192]; char *a = cookie->data; char *insert; @@ -53,20 +53,20 @@ int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value, // effacer éventuel cookie en double cookie_del(cookie, cook_name, domain, path); - if ((int) strlen(cook_value) > 1024) + if (strlen(cook_value) > 1024) return -1; // trop long - if ((int) strlen(cook_name) > 256) + if (strlen(cook_name) > 256) return -1; // trop long - if ((int) strlen(domain) > 256) + if (strlen(domain) > 256) return -1; // trop long - if ((int) strlen(path) > 256) + if (strlen(path) > 256) return -1; // trop long - if ((int) (strlen(cookie->data) + if (strlen(cookie->data) + strlen(cook_value) + strlen(cook_name) + strlen(domain) + strlen(path) - + 256) > cookie->max_len) + + 256 > cookie->max_len) return -1; // impossible d'ajouter insert = a; // insérer ici @@ -99,7 +99,7 @@ int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value, strcatbuff(cook, "\t"); strcatbuff(cook, cook_value); strcatbuff(cook, "\n"); - if (!(((int) strlen(cookie->data) + (int) strlen(cook)) < cookie->max_len)) + if (!((strlen(cookie->data) + strlen(cook)) < cookie->max_len)) return -1; // impossible d'ajouter cookie_insert(insert, cook); #if DEBUG_COOK @@ -111,13 +111,13 @@ int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value, } // effacer cookie si existe -int cookie_del(t_cookie * cookie, char *cook_name, char *domain, char *path) { +int cookie_del(t_cookie * cookie, const char *cook_name, const char *domain, const char *path) { char *a, *b; b = cookie_find(cookie->data, cook_name, domain, path); if (b) { a = cookie_nextfield(b); - cookie_delete(b, (int) (a - b)); + cookie_delete(b, a - b); #if DEBUG_COOK printf("deleted old cookie: %s %s %s\n", cook_name, domain, path); #endif @@ -128,7 +128,7 @@ int cookie_del(t_cookie * cookie, char *cook_name, char *domain, char *path) { // Matches wildcard cookie domains that start with a dot // chk_dom: the domain stored in the cookie (potentially wildcard). // domain: query domain -static int cookie_cmp_wildcard_domain(char *chk_dom, char *domain) { +static int cookie_cmp_wildcard_domain(const char *chk_dom, const char *domain) { const size_t n = strlen(chk_dom); const size_t m = strlen(domain); const size_t l = n < m ? n : m; @@ -152,7 +152,7 @@ static int cookie_cmp_wildcard_domain(char *chk_dom, char *domain) { // renvoie pointeur sur ligne, ou NULL si introuvable // path est aligné à droite et cook_name peut être vide (chercher alors tout cookie) // .doubleclick.net TRUE / FALSE 1999999999 id A -char *cookie_find(char *s, char *cook_name, char *domain, char *path) { +char *cookie_find(char *s, const char *cook_name, const char *domain, const char *path) { char buffer[8192]; char *a = s; @@ -165,15 +165,15 @@ char *cookie_find(char *s, char *cook_name, char *domain, char *path) { t = (strcmp(cookie_get(buffer, a, 5), cook_name) == 0); // tester si même nom if (t) { // même nom ou nom qualconque // - char *chk_dom = cookie_get(buffer, a, 0); // domaine concerné par le cookie + const char *chk_dom = cookie_get(buffer, a, 0); // domaine concerné par le cookie - if (((int) strlen(chk_dom) <= (int) strlen(domain) && + if ((strlen(chk_dom) <= strlen(domain) && strcmp(chk_dom, domain + strlen(domain) - strlen(chk_dom)) == 0) || !cookie_cmp_wildcard_domain(chk_dom, domain)) { // même domaine // - char *chk_path = cookie_get(buffer, a, 2); // chemin concerné par le cookie + const char *chk_path = cookie_get(buffer, a, 2); // chemin concerné par le cookie - if ((int) strlen(chk_path) <= (int) strlen(path)) { + if (strlen(chk_path) <= strlen(path)) { if (strncmp(path, chk_path, strlen(chk_path)) == 0) { // même chemin return a; } @@ -311,7 +311,7 @@ int cookie_load(t_cookie * cookie, const char *fpath, const char *name) { // écrire cookies.txt // !=0 : erreur -int cookie_save(t_cookie * cookie, char *name) { +int cookie_save(t_cookie * cookie, const char *name) { char catbuff[CATBUFF_SIZE]; if (strnotempty(cookie->data)) { @@ -337,7 +337,7 @@ int cookie_save(t_cookie * cookie, char *name) { } // insertion chaine ins avant s -void cookie_insert(char *s, char *ins) { +void cookie_insert(char *s, const char *ins) { char *buff; if (strnotempty(s) == 0) { // rien à faire, juste concat @@ -354,7 +354,7 @@ void cookie_insert(char *s, char *ins) { } // destruction chaine dans s position pos -void cookie_delete(char *s, int pos) { +void cookie_delete(char *s, size_t pos) { char *buff; if (strnotempty(s + pos) == 0) { // rien à faire, effacer @@ -371,8 +371,8 @@ void cookie_delete(char *s, int pos) { // renvoie champ param de la chaine cookie_base // ex: cookie_get("ceci estunexemple",1) renvoi "un" -char *cookie_get(char *buffer, char *cookie_base, int param) { - char *limit; +const char *cookie_get(char *buffer, const char *cookie_base, int param) { + const char *limit; while(*cookie_base == '\n') cookie_base++; @@ -393,7 +393,7 @@ char *cookie_get(char *buffer, char *cookie_base, int param) { } if (cookie_base) { if (cookie_base < limit) { - char *a = cookie_base; + const char *a = cookie_base; while((*a) && (*a != '\t') && (*a != '\n')) a++; @@ -413,7 +413,7 @@ char *cookie_get(char *buffer, char *cookie_base, int param) { // -- basic auth -- /* déclarer un répertoire comme possédant une authentification propre */ -int bauth_add(t_cookie * cookie, char *adr, char *fil, char *auth) { +int bauth_add(t_cookie * cookie, const char *adr, const char *fil, const char *auth) { char buffer[HTS_URLMAXSIZE * 2]; if (cookie) { @@ -439,7 +439,7 @@ int bauth_add(t_cookie * cookie, char *adr, char *fil, char *auth) { /* tester adr et fil, et retourner authentification si nécessaire */ /* sinon, retourne NULL */ -char *bauth_check(t_cookie * cookie, char *adr, char *fil) { +char *bauth_check(t_cookie * cookie, const char *adr, const char *fil) { char buffer[HTS_URLMAXSIZE * 2]; if (cookie) { @@ -458,7 +458,7 @@ char *bauth_check(t_cookie * cookie, char *adr, char *fil) { return NULL; } -char *bauth_prefix(char *prefix, char *adr, char *fil) { +char *bauth_prefix(char *prefix, const char *adr, const char *fil) { char *a; strcpybuff(prefix, jump_identification(adr)); diff --git a/src/htsbauth.h b/src/htsbauth.h index 248097e..dd57070 100644 --- a/src/htsbauth.h +++ b/src/htsbauth.h @@ -34,6 +34,8 @@ Please visit our Website: http://www.httrack.com #ifndef HTSBAUTH_DEFH #define HTSBAUTH_DEFH +#include + // robots wizard #ifndef HTS_DEF_FWSTRUCT_bauth_chain #define HTS_DEF_FWSTRUCT_bauth_chain @@ -60,21 +62,21 @@ struct t_cookie { #ifdef HTS_INTERNAL_BYTECODE // cookies -int cookie_add(t_cookie * cookie, char *cook_name, char *cook_value, - char *domain, char *path); -int cookie_del(t_cookie * cookie, char *cook_name, char *domain, char *path); +int cookie_add(t_cookie * cookie, const char *cook_name, const char *cook_value, + const char *domain, const char *path); +int cookie_del(t_cookie * cookie, const char *cook_name, const char *domain, const char *path); int cookie_load(t_cookie * cookie, const char *path, const char *name); -int cookie_save(t_cookie * cookie, char *name); -void cookie_insert(char *s, char *ins); -void cookie_delete(char *s, int pos); -char *cookie_get(char *buffer, char *cookie_base, int param); -char *cookie_find(char *s, char *cook_name, char *domain, char *path); +int cookie_save(t_cookie * cookie, const char *name); +void cookie_insert(char *s, const char *ins); +void cookie_delete(char *s, size_t pos); +const char *cookie_get(char *buffer, const char *cookie_base, int param); +char *cookie_find(char *s, const char *cook_name, const char *domain, const char *path); char *cookie_nextfield(char *a); // basic auth -int bauth_add(t_cookie * cookie, char *adr, char *fil, char *auth); -char *bauth_check(t_cookie * cookie, char *adr, char *fil); -char *bauth_prefix(char *buffer, char *adr, char *fil); +int bauth_add(t_cookie * cookie, const char *adr, const char *fil, const char *auth); +char *bauth_check(t_cookie * cookie, const char *adr, const char *fil); +char *bauth_prefix(char *buffer, const char *adr, const char *fil); #endif diff --git a/src/htscache.c b/src/htscache.c index 5cdcc3f..dc63221 100644 --- a/src/htscache.c +++ b/src/htscache.c @@ -2016,12 +2016,12 @@ void cache_init(cache_back * cache, httrackp * opt) { // lire un fichier.. (compatible \0) /* Note: NOT utf-8 */ -char *readfile(char *fil) { +char *readfile(const char *fil) { return readfile2(fil, NULL); } /* Note: NOT utf-8 */ -char *readfile2(char *fil, LLint * size) { +char *readfile2(const char *fil, LLint * size) { char *adr = NULL; char catbuff[CATBUFF_SIZE]; INTsys len = 0; @@ -2049,7 +2049,7 @@ char *readfile2(char *fil, LLint * size) { } /* Note: utf-8 */ -char *readfile_utf8(char *fil) { +char *readfile_utf8(const char *fil) { char *adr = NULL; char catbuff[CATBUFF_SIZE]; const off_t len = fsize_utf8(fil); @@ -2074,8 +2074,8 @@ char *readfile_utf8(char *fil) { } /* Note: NOT utf-8 */ -char *readfile_or(char *fil, char *defaultdata) { - char *realfile = fil; +char *readfile_or(const char *fil, const char *defaultdata) { + const char *realfile = fil; char *ret; char catbuff[CATBUFF_SIZE]; diff --git a/src/htsconcat.c b/src/htsconcat.c index c78513f..3553207 100644 --- a/src/htsconcat.c +++ b/src/htsconcat.c @@ -105,7 +105,7 @@ char *fslash(char *catbuff, size_t size, const char *a) { } // extension : html,gif.. -HTSEXT_API char *get_ext(char *catbuff, size_t size, const char *fil) { +HTSEXT_API const char *get_ext(char *catbuff, size_t size, const char *fil) { size_t i, last; RUNTIME_TIME_CHECK_SIZE(size); diff --git a/src/htscore.h b/src/htscore.h index f082d11..93108cd 100644 --- a/src/htscore.h +++ b/src/htscore.h @@ -329,10 +329,10 @@ int fspc(httrackp * opt, FILE * fp, const char *type); char *next_token(char *p, int flag); // -char *readfile(char *fil); -char *readfile2(char *fil, LLint * size); -char *readfile_utf8(char *fil); -char *readfile_or(char *fil, char *defaultdata); +char *readfile(const char *fil); +char *readfile2(const char *fil, LLint * size); +char *readfile_utf8(const char *fil); +char *readfile_or(const char *fil, const char *defaultdata); #if 0 void check_rate(TStamp stat_timestart, int maxrate); diff --git a/src/htsfilters.c b/src/htsfilters.c index 855cc59..ad879f4 100644 --- a/src/htsfilters.c +++ b/src/htsfilters.c @@ -54,7 +54,7 @@ Please visit our Website: http://www.httrack.com // 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 fa_strjoker(int type, char **filters, int nfil, const char *nom, LLint * size, int *size_flag, int *depth) { int verdict = 0; // on sait pas int i; @@ -101,7 +101,7 @@ int fa_strjoker(int type, char **filters, int nfil, char *nom, LLint * size, // cet algo est 'un peu' récursif mais ne consomme pas trop de tm // * = toute lettre // --?-- : spécifique à HTTrack et aux ? -HTS_INLINE char *strjoker(char *chaine, char *joker, LLint * size, +HTS_INLINE const char *strjoker(const char *chaine, const char *joker, LLint * size, int *size_flag) { //int err=0; if (strnotempty(joker) == 0) { // fin de chaine joker @@ -262,7 +262,7 @@ HTS_INLINE char *strjoker(char *chaine, char *joker, LLint * size, { int i, max; - char *adr; + const char *adr; // la chaine doit se terminer exactement if (cut) { @@ -335,8 +335,8 @@ HTS_INLINE char *strjoker(char *chaine, char *joker, LLint * size, // 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! -char *strjokerfind(char *chaine, char *joker) { - char *adr; +const char *strjokerfind(const char *chaine, const char *joker) { + const char *adr; while(*chaine) { if ((adr = strjoker(chaine, joker, NULL, NULL))) { // ok trouvé diff --git a/src/htsfilters.h b/src/htsfilters.h index 5ed2e19..c08bd06 100644 --- a/src/htsfilters.h +++ b/src/htsfilters.h @@ -39,11 +39,11 @@ Please visit our Website: http://www.httrack.com #include "htsbase.h" -int fa_strjoker(int type, char **filters, int nfil, char *nom, LLint * size, +int fa_strjoker(int type, char **filters, int nfil, const char *nom, LLint * size, int *size_flag, int *depth); -HTS_INLINE char *strjoker(char *chaine, char *joker, LLint * size, +HTS_INLINE const char *strjoker(const char *chaine, const char *joker, LLint * size, int *size_flag); -char *strjokerfind(char *chaine, char *joker); +const char *strjokerfind(const char *chaine, const char *joker); #endif #endif diff --git a/src/htsftp.c b/src/htsftp.c index 3d26a79..ccba1bd 100644 --- a/src/htsftp.c +++ b/src/htsftp.c @@ -142,7 +142,7 @@ int run_launch_ftp(FTPDownloadStruct * pStruct) { #endif char BIGSTK adr_ip[1024]; char *adr, *real_adr; - char *ftp_filename = ""; + const char *ftp_filename = ""; int timeout = 300; // timeout int timeout_onfly = 8; // attente réponse supplémentaire int transfer_list = 0; // directory @@ -913,7 +913,7 @@ FILE *dd = NULL; // routines de réception/émission // 0 = ERROR -int send_line(T_SOC soc, char *data) { +int send_line(T_SOC soc, const char *data) { char BIGSTK line[1024]; if (_DEBUG_HEAD) { diff --git a/src/htsftp.h b/src/htsftp.h index de2a9c5..ef6fca7 100644 --- a/src/htsftp.h +++ b/src/htsftp.h @@ -68,7 +68,7 @@ int back_launch_ftp(FTPDownloadStruct * params); #endif int run_launch_ftp(FTPDownloadStruct * params); -int send_line(T_SOC soc, char *data); +int send_line(T_SOC soc, const char *data); int get_ftp_line(T_SOC soc, char *line, size_t line_size, int timeout); T_SOC get_datasocket(char *to_send, size_t to_send_size); int stop_ftp(lien_back * back); diff --git a/src/htshelp.c b/src/htshelp.c index 239e857..6cdeb12 100644 --- a/src/htshelp.c +++ b/src/htshelp.c @@ -52,7 +52,7 @@ Please visit our Website: http://www.httrack.com /* END specific definitions */ #define waitkey if (more) { char s[4]; printf("\nMORE.. q to quit\n"); linput(stdin,s,4); if (strcmp(s,"q")==0) quit=1; else printf("Page %d\n\n",++m); } -void infomsg(char *msg) { +void infomsg(const char *msg) { int l = 0; int m = 0; int more = 0; @@ -332,7 +332,7 @@ void help_wizard(httrackp * opt) { printf("\n"); // couper en morceaux - argv[0] = "winhttrack"; + argv[0] = strdup("winhttrack"); argv[1] = cmd; argc++; while(cmd[i]) { @@ -364,15 +364,15 @@ void help_wizard(httrackp * opt) { #undef str #undef argv } -int help_query(char *list, int def) { +int help_query(const char *list, int def) { char s[256]; - char *a; + const char *a; int opt; int n = 1; a = list; while(strnotempty(a)) { - char *b = strchr(a, '|'); + const char *b = strchr(a, '|'); if (b) { char str[256]; @@ -455,7 +455,7 @@ void help_catchurl(const char *dest_path) { } // Créer un index.html vide -void make_empty_index(char *str) { +void make_empty_index(const char *str) { #if 0 if (!fexist(fconcat(str, "index.html"))) { FILE *fp = fopen(fconcat(str, "index.html"), "wb"); @@ -473,7 +473,7 @@ void make_empty_index(char *str) { // mini-aide (h: help) // y -void help(char *app, int more) { +void help(const char *app, int more) { char info[2048]; infomsg(""); diff --git a/src/htshelp.h b/src/htshelp.h index 5f1b75b..7add77e 100644 --- a/src/htshelp.h +++ b/src/htshelp.h @@ -43,11 +43,11 @@ Please visit our Website: http://www.httrack.com typedef struct httrackp httrackp; #endif -void infomsg(char *msg); -void help(char *app, int more); -void make_empty_index(char *str); +void infomsg(const char *msg); +void help(const char *app, int more); +void make_empty_index(const char *str); void help_wizard(httrackp * opt); -int help_query(char *list, int def); +int help_query(const char *list, int def); void help_catchurl(const char *dest_path); #endif diff --git a/src/htsindex.c b/src/htsindex.c index 1d08012..1dca05c 100644 --- a/src/htsindex.c +++ b/src/htsindex.c @@ -103,7 +103,7 @@ Please visit our Website: http://www.httrack.com /* End of Keyword Indexer Parameters */ -int strcpos(char *adr, char c); +int strcpos(const char *adr, char c); int mystrcmp(const void *_e1, const void *_e2); // Global variables @@ -468,8 +468,8 @@ void index_finish(const char *indexpath, int mode) { /* Subroutines */ #if HTS_MAKE_KEYWORD_INDEX -int strcpos(char *adr, char c) { - char *apos = strchr(adr, c); +int strcpos(const char *adr, char c) { + const char *apos = strchr(adr, c); if (apos) return (int) (apos - adr); diff --git a/src/htsjava.c b/src/htsjava.c index 0098994..44ecbc4 100644 --- a/src/htsjava.c +++ b/src/htsjava.c @@ -493,8 +493,9 @@ static char *printname(char rname[1024], char name[1024]) { p = &name[0]; - if (*p != '[') - return ""; + if (*p != '[') { + return rname; // "" + } p += 2; //rname=(char*)calloct(strlen(name)+8,sizeof(char)); p1 = rname; @@ -504,13 +505,13 @@ static char *printname(char rname[1024], char name[1024]) { if (*p == ';') { *p1 = '\0'; strcat(rname, ".class"); - return (rname); + return rname; } else *p1 = *p; p1++; } p1 -= 3; *p1 = '\0'; - return (rname); + return rname; } diff --git a/src/htslib.c b/src/htslib.c index ab83837..0ec0148 100644 --- a/src/htslib.c +++ b/src/htslib.c @@ -609,7 +609,7 @@ void hts_init_htsblk(htsblk * r) { // ouvre une liaison http, envoie une requète GET et réceptionne le header // retour: socket -T_SOC http_fopen(httrackp * opt, char *adr, char *fil, htsblk * retour) { +T_SOC http_fopen(httrackp * opt, const char *adr, const char *fil, htsblk * retour) { // / GET, traiter en-tête return http_xfopen(opt, 0, 1, 1, NULL, adr, fil, retour); } @@ -620,10 +620,11 @@ T_SOC http_fopen(httrackp * opt, char *adr, char *fil, htsblk * retour) { // waitconnect: attendre le connect() // note: dans retour, on met les params du proxy T_SOC http_xfopen(httrackp * opt, int mode, int treat, int waitconnect, - char *xsend, char *adr, char *fil, htsblk * retour) { + const char *xsend, const char *adr, const char *fil, htsblk * retour) { //htsblk retour; //int bufl=TAILLE_BUFFER; // 8Ko de buffer T_SOC soc = INVALID_SOCKET; + char BIGSTK tempo_fil[HTS_URLMAXSIZE * 2]; //char *p,*q; @@ -699,10 +700,8 @@ T_SOC http_xfopen(httrackp * opt, int mode, int treat, int waitconnect, (fconv (OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), unescape_http(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), fil + 1)))) { - char BIGSTK tempo[HTS_URLMAXSIZE * 2]; - - strcpybuff(tempo, fil + 1); - strcpybuff(fil, tempo); + strcpybuff(tempo_fil, fil + 1); + fil = tempo_fil; } // Ouvrir retour->totalsize = fsize(fconv(OPT_GET_BUFF(opt), OPT_GET_BUFF_SIZE(opt), @@ -845,15 +844,16 @@ static void print_buffer(buff_struct*const str, const char *format, ...) { } // envoi d'une requète -int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, char *xsend, - char *adr, char *fil, char *referer_adr, char *referer_fil, +int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, + const char *xsend, const char *adr, const char *fil, + const char *referer_adr, const char *referer_fil, htsblk * retour) { char BIGSTK buffer_head_request[8192]; buff_struct bstr = { buffer_head_request, sizeof(buffer_head_request), 0 }; //int use_11=0; // HTTP 1.1 utilisé int direct_url = 0; // ne pas analyser l'url (exemple: ftp://) - char *search_tag = NULL; + const char *search_tag = NULL; // Initialize buffer buffer_head_request[0] = '\0'; @@ -1054,7 +1054,7 @@ int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, char *xsend, } { - char *real_adr = jump_identification(adr); + const char *real_adr = jump_identification(adr); // Mandatory per RFC2616 if (!direct_url) { // pas ftp:// par exemple @@ -1099,12 +1099,12 @@ int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, char *xsend, /* Authentification */ { char autorisation[1100]; - char *a; + const char *a; autorisation[0] = '\0'; if (link_has_authorization(adr)) { // ohh une authentification! - char *a = jump_identification(adr); - char *astart = jump_protocol(adr); + const char *a = jump_identification(adr); + const char *astart = jump_protocol(adr); if (!direct_url) { // pas ftp:// par exemple char user_pass[256]; @@ -1184,8 +1184,8 @@ int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, char *xsend, } // traiter 1ere ligne d'en tête -void treatfirstline(htsblk * retour, char *rcvd) { - char *a = rcvd; +void treatfirstline(htsblk * retour, const char *rcvd) { + const char *a = rcvd; // exemple: // HTTP/1.0 200 OK @@ -1255,7 +1255,7 @@ void treatfirstline(htsblk * retour, char *rcvd) { // traiter ligne par ligne l'en tête // gestion des cookies -void treathead(t_cookie * cookie, char *adr, char *fil, htsblk * retour, +void treathead(t_cookie * cookie, const char *adr, const char *fil, htsblk * retour, char *rcvd) { int p; @@ -1388,7 +1388,7 @@ void treathead(t_cookie * cookie, char *adr, char *fil, htsblk * retour, } } else if ((p = strfield(rcvd, "Content-Range:")) != 0) { // Content-Range: bytes 0-70870/70871 - char *a; + const char *a; for(a = rcvd + p; is_space(*a); a++) ; if (strncasecmp(a, "bytes ", 6) == 0) { @@ -2019,7 +2019,7 @@ htsblk http_location(httrackp * opt, char *adr, char *fil, char *loc) { // en cas de moved xx, dans location // abandonne désormais au bout de 30 secondes (aurevoir les sites // qui nous font poireauter 5 heures..) -> -2=timeout -htsblk http_test(httrackp * opt, char *adr, char *fil, char *loc) { +htsblk http_test(httrackp * opt, const char *adr, const char *fil, char *loc) { T_SOC soc; htsblk retour; @@ -3153,8 +3153,8 @@ void rawlinput(FILE * fp, char *s, int max) { } //cherche chaine, case insensitive -char *strstrcase(char *s, char *o) { - while((*s) && (strfield(s, o) == 0)) +char *strstrcase(char *s, const char *o) { + while(*s && strfield(s, o) == 0) s++; if (*s == '\0') return NULL; @@ -4277,7 +4277,7 @@ int may_unknown2(httrackp * opt, const char *mime, const char *filename) { // -- Utils fichiers // pretty print for i/o -void fprintfio(FILE * fp, char *buff, char *prefix) { +void fprintfio(FILE * fp, const char *buff, const char *prefix) { char nl = 1; while(*buff) { @@ -4392,7 +4392,7 @@ typedef struct { char path[1024 + 4]; int init; } hts_rootdir_strc; -HTSEXT_API char *hts_rootdir(char *file) { +HTSEXT_API const char *hts_rootdir(char *file) { static hts_rootdir_strc strc = { "", 0 }; if (file) { if (!strc.init) { diff --git a/src/htslib.h b/src/htslib.h index 615dd41..37b430d 100644 --- a/src/htslib.h +++ b/src/htslib.h @@ -249,11 +249,12 @@ LLint check_downloadable_bytes(int rate); HTSEXT_API int hts_uninit_module(void); // fonctions principales -T_SOC http_fopen(httrackp * opt, char *adr, char *fil, htsblk * retour); +T_SOC http_fopen(httrackp * opt, const char *adr, const char *fil, htsblk * retour); T_SOC http_xfopen(httrackp * opt, int mode, int treat, int waitconnect, - char *xsend, char *adr, char *fil, htsblk * retour); -int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, char *xsend, - char *adr, char *fil, char *referer_adr, char *referer_fil, + const char *xsend, const char *adr, const char *fil, htsblk * retour); +int http_sendhead(httrackp * opt, t_cookie * cookie, int mode, const char *xsend, + const char *adr, const char *fil, + const char *referer_adr, const char *referer_fil, htsblk * retour); //int newhttp(char* iadr,char* err=NULL); @@ -264,12 +265,12 @@ HTS_INLINE int deleteaddr(htsblk * r); HTS_INLINE void deletesoc(T_SOC soc); HTS_INLINE void deletesoc_r(htsblk * r); htsblk http_location(httrackp * opt, char *adr, char *fil, char *loc); -htsblk http_test(httrackp * opt, char *adr, char *fil, char *loc); +htsblk http_test(httrackp * opt, const char *adr, const char *fil, char *loc); int check_readinput(htsblk * r); int check_readinput_t(T_SOC soc, int timeout); -void treathead(t_cookie * cookie, char *adr, char *fil, htsblk * retour, +void treathead(t_cookie * cookie, const char *adr, const char *fil, htsblk * retour, char *rcvd); -void treatfirstline(htsblk * retour, char *rcvd); +void treatfirstline(htsblk * retour, const char *rcvd); // sous-fonctions LLint http_xfread1(htsblk * r, int bufl); @@ -315,7 +316,7 @@ int linputsoc_t(T_SOC soc, char *s, int max, int timeout); int linput_trim(FILE * fp, char *s, int max); int linput_cpp(FILE * fp, char *s, int max); void rawlinput(FILE * fp, char *s, int max); -char *strstrcase(char *s, char *o); +char *strstrcase(char *s, const char *o); int ident_url_absolute(const char *url, char *adr, char *fil); void fil_simplifie(char *f); int is_unicode_utf8(const char *buffer, const size_t size); @@ -345,7 +346,7 @@ void hts_lowcase(char *s); void hts_replace(char *s, char from, char to); int multipleStringMatch(const char *s, const char *match); -void fprintfio(FILE * fp, char *buff, char *prefix); +void fprintfio(FILE * fp, const char *buff, const char *prefix); #ifdef _WIN32 #else diff --git a/src/htsname.c b/src/htsname.c index 8e25e2e..0ca6540 100644 --- a/src/htsname.c +++ b/src/htsname.c @@ -577,7 +577,7 @@ int url_savename(char *adr_complete, char *fil_complete, char *save, strcpybuff(curr_fil, mov_fil); stop_looping = 1; } else if (*mov_url) { - char *methode; + const char *methode; if (!get_test_request) methode = BACK_ADD_TEST; // tester avec HEAD diff --git a/src/htsopt.h b/src/htsopt.h index 3b589f8..4a40420 100644 --- a/src/htsopt.h +++ b/src/htsopt.h @@ -374,7 +374,7 @@ struct httrackp { int maxlink; // nombre max de liens int maxfilter; // nombre max de filtres // - char *exec; // adresse du nom de l'éxecutable + const char *exec; // adresse du nom de l'éxecutable // int quiet; // poser des questions autres que wizard? int keyboard; // vérifier stdin diff --git a/src/htsparse.c b/src/htsparse.c index b3778bc..a8ee0f3 100644 --- a/src/htsparse.c +++ b/src/htsparse.c @@ -436,7 +436,7 @@ int htsparse(htsmoduleStruct * str, htsmoduleStructExtended * stre) { int back_add_stats = opt->state.back_add_stats; // - char *in_media = NULL; // in other media type (real media and so..) + const char *in_media = NULL; // in other media type (real media and so..) int intag = 0; // on est dans un tag int incomment = 0; // dans un \r\n" \ "\r\n" -HTS_UNUSED static char *gethomedir(void) { - char *home = getenv("HOME"); +HTS_UNUSED static const char *gethomedir(void) { + const char *home = getenv("HOME"); if (home) return home; diff --git a/src/proxy/store.c b/src/proxy/store.c index daa9952..76f245a 100644 --- a/src/proxy/store.c +++ b/src/proxy/store.c @@ -1253,7 +1253,7 @@ static int PT_SaveCache__New_Fun(void *arg, const char *url, PT_Element element) headersSize = 0; /* */ { - char *message; + const char *message; if (strlen(element->msg) < 32) { message = element->msg; -- cgit v1.2.3