static ESExpResult * message_func_relative_months (ESExp *f, gint argc, ESExpResult **argv, gpointer data) { ESExpResult *r; if (argc != 1 || argv[0]->type != ESEXP_RES_INT) { r = e_sexp_result_new (f, ESEXP_RES_BOOL); r->value.boolean = FALSE; } else { r = e_sexp_result_new (f, ESEXP_RES_INT); r->value.number = camel_folder_search_util_add_months (time (NULL), argv[0]->value.number); } return r; }
static CamelSExpResult * get_relative_months (struct _CamelSExp *f, gint argc, struct _CamelSExpResult **argv, FilterMessageSearch *fms) { CamelSExpResult *r; if (argc != 1 || argv[0]->type != CAMEL_SEXP_RES_INT) { r = camel_sexp_result_new (f, CAMEL_SEXP_RES_BOOL); r->value.boolean = FALSE; g_debug ("%s: Expecting 1 argument, an integer, but got %d arguments", G_STRFUNC, argc); } else { r = camel_sexp_result_new (f, CAMEL_SEXP_RES_INT); r->value.number = camel_folder_search_util_add_months (time (NULL), argv[0]->value.number); } return r; }