int paranoid;
int quiet;
-char *default_search_field = "p";
+char *default_search_field;
/********************************************************************/
fprintf(out, " index mails\n");
fprintf(out, " -o <output filename>, --output <output filename>\n");
fprintf(out, " set the result file, use stdout if unset\n");
+ fprintf(out, " -a <search field>, --default-search <search field>\n");
+ fprintf(out, " set the default search field\n");
}
/*********************************************************************/
{ "search", 1, 0, 's' },
{ "index", 0, 0, 'i' },
{ "output", 1, 0, 'o' },
+ { "default-search", 1, 0, 'a' },
{ 0, 0, 0, 0 }
};
condition->negation = 0;
}
- /* Last 8 hours */
+ /* Recently */
if(strcmp(search_field, "8h") == 0) {
condition->field_id = ID_INTERVAL;
condition->interval_stop = 0;
}
- /* Today and yesterday */
+ else if(strcmp(search_field, "month") == 0) {
+ condition->field_id = ID_INTERVAL;
+ condition->interval_start = time(0) - 3600 * 24 * 31;
+ condition->interval_stop = 0;
+ }
else if(strcmp(search_field, "24h") == 0 ||
strcmp(search_field, "today") == 0) {
condition->interval_stop = 0;
}
+ /* Yesterday */
+
else if(strcmp(search_field, "yesterday") == 0) {
condition->field_id = ID_INTERVAL;
condition->interval_start = time(0) - 2 * 3600 * 24;
}
else {
+
+ /* header-related conditions */
+
condition->field_id = -1;
for(m = 0; (m < MAX_ID) && condition->field_id == -1; m++) {
char *db_filename_list;
char output_filename[PATH_MAX + 1];
int action_index;
-
int error = 0, show_help = 0;
const int nb_fields_to_parse = sizeof(fields_to_parse) / sizeof(struct parsable_field);
char c;
db_root_path = 0;
db_filename_list = 0;
quiet = 0;
+ default_search_field = 0;
setlocale(LC_ALL, "");
nb_search_conditions = 0;
- while ((c = getopt_long(argc, argv, "hvqip:s:d:r:l:o:",
+ while ((c = getopt_long(argc, argv, "hvqip:s:d:r:l:o:a:",
long_options, NULL)) != -1) {
switch(c) {
nb_search_conditions++;
break;
+ case 'a':
+ default_search_field = optarg;
+ break;
+
default:
error = 1;
break;