t_list_single find_aux(t_list_words l, t_websearch search_engine, t_list_single sites) { if (IS_EMPTY(l)) { return sites; } else { char *results[NBR_WEBSITES]; int count; char *request; int i; INFO("Construction de la requête"); request = build_request(HEAD(l)); INFO("Requête : %s", request); count = websearch(search_engine, request, results, NBR_WEBSITES); INFO("Documents trouvés : %d", count); INFO("Stockage des sites trouvés"); for(i=0;i<count;i++) { if (add_single_sorted(results[i], NBR_WEBSITES-i, &sites) == 0) { free(results[i]); } } INFO("Libération de la requête"); free_request(request); return find_aux(NEXT(l), search_engine, sites); } }
size_t string::find(const string& str, size_t pos) const { size_t lengthOfS = str.size(); if (size() - pos < lengthOfS) return npos; return find_aux(str.cbegin(), pos, lengthOfS, size()); }
long get_aux(long *auxv, long id) { long *p = find_aux(auxv, id); if (p) return *p; else return 0; }
t_list_single find_on_web(const char *filepath, t_websearch search_engine, int nbr_words, int skip_words, int *nbr_seq) { t_list_single single; t_list_words l; t_list_single sites; INFO("Découpage du fichier"); l = analyse_file(filepath, nbr_words, skip_words, &single, 0); *nbr_seq = length_list(l); INFO("Récupération des sites"); sites = find_aux(l, search_engine, EMPTY_SL); INFO("Tri les sites trouvés"); sort_single_list_by_weight(&sites); DEBUG("Libération de la mémoire"); free_list(&l); free_single_list(&single); return sites; }
void set_aux(long *auxv, long id, long val) { long *p = find_aux(auxv, id); if (p) *p = val; }
size_t string::find(const char* s, size_t pos, size_t n) const{ //size_t lengthOfS = strlen(s); return find_aux(s, pos, n, size()); }
size_t string::find(const char* s, size_t pos, size_t n) const { return find_aux(s, pos, n, size()); }