Added a (get-size ) function to fix bug #38073. (search_get_size):
2003-02-14 Jeffrey Stedfast <fejj@ximian.com> * camel-folder-search.c: Added a (get-size ) function to fix bug #38073. (search_get_size): Implemented. svn path=/trunk/; revision=19915
This commit is contained in:
committed by
Jeffrey Stedfast
parent
8b79f2dff4
commit
aba27fbc03
@ -1,3 +1,9 @@
|
||||
2003-02-14 Jeffrey Stedfast <fejj@ximian.com>
|
||||
|
||||
* camel-folder-search.c: Added a (get-size ) function to fix bug
|
||||
#38073.
|
||||
(search_get_size): Implemented.
|
||||
|
||||
2003-02-14 Jeffrey Stedfast <fejj@ximian.com>
|
||||
|
||||
* camel-url-scanner.c (url_scanner_table_init): Mark chars with
|
||||
|
||||
@ -70,6 +70,7 @@ static ESExpResult *search_system_flag(struct _ESExp *f, int argc, struct _ESExp
|
||||
static ESExpResult *search_get_sent_date(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
static ESExpResult *search_get_received_date(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
static ESExpResult *search_get_current_date(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
static ESExpResult *search_get_size(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
static ESExpResult *search_uid(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
|
||||
static ESExpResult *search_dummy(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *search);
|
||||
@ -100,6 +101,7 @@ camel_folder_search_class_init (CamelFolderSearchClass *klass)
|
||||
klass->get_sent_date = search_get_sent_date;
|
||||
klass->get_received_date = search_get_received_date;
|
||||
klass->get_current_date = search_get_current_date;
|
||||
klass->get_size = search_get_size;
|
||||
klass->uid = search_uid;
|
||||
}
|
||||
|
||||
@ -199,6 +201,7 @@ struct {
|
||||
{ "get-sent-date", CAMEL_STRUCT_OFFSET(CamelFolderSearchClass, get_sent_date), 1 },
|
||||
{ "get-received-date", CAMEL_STRUCT_OFFSET(CamelFolderSearchClass, get_received_date), 1 },
|
||||
{ "get-current-date", CAMEL_STRUCT_OFFSET(CamelFolderSearchClass, get_current_date), 1 },
|
||||
{ "get-size", CAMEL_STRUCT_OFFSET(CamelFolderSearchClass, get_size), 1 },
|
||||
{ "uid", CAMEL_STRUCT_OFFSET(CamelFolderSearchClass, uid), 1 },
|
||||
};
|
||||
|
||||
@ -241,7 +244,7 @@ camel_folder_search_construct (CamelFolderSearch *search)
|
||||
CamelFolderSearch *
|
||||
camel_folder_search_new (void)
|
||||
{
|
||||
CamelFolderSearch *new = CAMEL_FOLDER_SEARCH ( camel_object_new (camel_folder_search_get_type ()));
|
||||
CamelFolderSearch *new = CAMEL_FOLDER_SEARCH (camel_object_new (camel_folder_search_get_type ()));
|
||||
|
||||
camel_folder_search_construct(new);
|
||||
return new;
|
||||
@ -1123,6 +1126,25 @@ search_get_current_date(struct _ESExp *f, int argc, struct _ESExpResult **argv,
|
||||
return r;
|
||||
}
|
||||
|
||||
static ESExpResult *
|
||||
search_get_size (struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s)
|
||||
{
|
||||
ESExpResult *r;
|
||||
|
||||
r(printf("executing get-size\n"));
|
||||
|
||||
/* are we inside a match-all? */
|
||||
if (s->current) {
|
||||
r = e_sexp_result_new (f, ESEXP_RES_INT);
|
||||
r->value.number = s->current->size / 1024;
|
||||
} else {
|
||||
r = e_sexp_result_new (f, ESEXP_RES_ARRAY_PTR);
|
||||
r->value.ptrarray = g_ptr_array_new ();
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
static ESExpResult *
|
||||
search_uid(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *search)
|
||||
{
|
||||
|
||||
@ -108,6 +108,9 @@ struct _CamelFolderSearchClass {
|
||||
/* (get-current-date) Retrieve 'now' as a time_t */
|
||||
ESExpResult * (*get_current_date)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
|
||||
/* (get-size) Retrieve message size as an int (in kilobytes) */
|
||||
ESExpResult * (*get_size)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
|
||||
/* (uid "uid" ...) True if the uid is in the list */
|
||||
ESExpResult * (*uid)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user