* cfind: add support for the --after and --personal parameters, and document them

This commit is contained in:
djcb
2012-06-20 09:20:15 +03:00
parent b150f45090
commit 2c99e598a1
4 changed files with 50 additions and 9 deletions

View File

@ -130,7 +130,8 @@ print_plain (const char *email, const char *name, gboolean color)
struct _ECData {
MuConfigFormat format;
gboolean color;
gboolean color, personal;
time_t after;
};
typedef struct _ECData ECData;
@ -139,6 +140,12 @@ static void
each_contact (const char *email, const char *name, gboolean personal,
time_t tstamp, ECData *ecdata)
{
if (ecdata->personal && !personal)
return;
if (ecdata->after < tstamp)
return;
switch (ecdata->format) {
case MU_CONFIG_FORMAT_MUTT_ALIAS:
each_contact_mutt_alias (email, name);
@ -166,7 +173,9 @@ each_contact (const char *email, const char *name, gboolean personal,
static MuError
run_cmd_cfind (const char* pattern, MuConfigFormat format,
run_cmd_cfind (const char* pattern,
gboolean personal, time_t after,
MuConfigFormat format,
gboolean color, GError **err)
{
gboolean rv;
@ -174,8 +183,10 @@ run_cmd_cfind (const char* pattern, MuConfigFormat format,
size_t num;
ECData ecdata;
ecdata.format = format;
ecdata.color = color;
ecdata.personal = personal;
ecdata.after = after;
ecdata.format = format;
ecdata.color = color;
contacts = mu_contacts_new (mu_runtime_path(MU_RUNTIME_PATH_CONTACTS));
if (!contacts) {
@ -239,6 +250,10 @@ mu_cmd_cfind (MuConfig *opts, GError **err)
return MU_ERROR_IN_PARAMETERS;
}
return run_cmd_cfind (opts->params[1], opts->format,
!opts->nocolor, err);
return run_cmd_cfind (opts->params[1],
opts->personal,
opts->after,
opts->format,
!opts->nocolor,
err);
}