X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=mymail.c;h=219f6a32b09294b0839d5a45dc50dc959191d00c;hb=753b7cb9dd8e1929b9f52400a28a9aab0062cad3;hp=325562ecb2f5084cd07e1d97f7e719b5b57f6a8a;hpb=32a6e5613bc88b99aae6ebae35ad87e8dc9c471b;p=mymail.git diff --git a/mymail.c b/mymail.c index 325562e..219f6a3 100644 --- a/mymail.c +++ b/mymail.c @@ -46,7 +46,7 @@ #include #define MYMAIL_DB_MAGIC_TOKEN "mymail_index_file" -#define VERSION "0.9.2" +#define VERSION "0.9.5" #define MAX_NB_SEARCH_CONDITIONS 32 @@ -57,9 +57,7 @@ /* Global variables! */ -int paranoid; int quiet; -int ignore_dot_files; regex_t leading_from_line_regexp; @@ -155,11 +153,12 @@ int xor(int a, int b) { const char *parse_token(char *token_buffer, size_t token_buffer_size, char separator, const char *string) { char *u = token_buffer; + while(*string == separator) { string++; } while(u < token_buffer + token_buffer_size - 1 && *string && *string != separator) { *(u++) = *(string++); } - while(*string == separator) string++; + while(*string == separator) { string++; } *u = '\0'; return string; } @@ -237,7 +236,7 @@ int ignore_entry(const char *name) { return strcmp(name, ".") == 0 || strcmp(name, "..") == 0 || - (ignore_dot_files && name[0] == '.' && name[1] != '/'); + (name[0] == '.' && name[1] != '/'); } int is_a_leading_from_line(char *mbox_line) { @@ -431,19 +430,19 @@ int search_in_db(const char *db_filename, /* Now check the body ones */ + nb_fulfilled_body_conditions = 0; + if(nb_body_conditions > 0) { update_body_hits(current_mail_filename, current_position_in_mail, nb_search_conditions, search_conditions, nb_body_conditions, hits); - } - - nb_fulfilled_body_conditions = 0; - for(n = 0; n < nb_search_conditions; n++) { - if(search_conditions[n].field_id == ID_BODY && - xor(hits[n], search_conditions[n].negation)) { - nb_fulfilled_body_conditions++; + for(n = 0; n < nb_search_conditions; n++) { + if(search_conditions[n].field_id == ID_BODY && + xor(hits[n], search_conditions[n].negation)) { + nb_fulfilled_body_conditions++; + } } } @@ -574,7 +573,6 @@ void index_mbox(const char *mbox_filename, "Got a ^\"From \" in the header in %s:%lu.\n", mbox_filename, position_in_file); fprintf(stderr, "%s", raw_mbox_line); - if(paranoid) { exit(EXIT_FAILURE); } } in_header = 1; new_header = 1; @@ -703,6 +701,7 @@ static struct time_criterion time_criteria[] = { { "8h", 8, -1, -1 }, { "today", 24, -1, -1 }, { "24h", 24, -1, -1 }, + { "48h", 48, -1, -1 }, { "week", 24 * 7, -1, -1 }, { "month", 24 * 31, -1, -1 }, { "year", 24 * 365, -1, -1 }, @@ -846,10 +845,8 @@ int main(int argc, char **argv) { exit(EXIT_FAILURE); } - paranoid = 0; quiet = 0; default_search_field = 0; - ignore_dot_files = 1; strncpy(output_filename, "", PATH_MAX); setlocale(LC_ALL, "");