Files
evolution/camel/camel-index-control.c
Not Zed 777f8cf10f remove unused var.
2003-03-28  Not Zed  <NotZed@Ximian.com>

	* providers/local/camel-spool-store.c (get_folder): remove unused
	var.

	* providers/imap/camel-imap-utils.c (imap_parse_list_response):
	moved an unused var to the #if 0'd out block.

	* providers/imap/camel-imap-store.c
	(parse_list_response_as_folder_info): remove unused vars.

	* camel-index-control.c (main): deifne camel_init() before using
	it.

	* camel-vee-store.c (vee_get_folder): removed unused var.

	* camel-stream-mem.c (stream_write): warning -> fixme.

	* camel-stream-filter.c (_CamelStreamFilterPrivate): Add a ; to
	the end of the struct definition.

	* camel-store.c (camel_store_delete_folder): remove unused var.
	(camel_store_rename_folder): "
	(camel_store_unsubscribe_folder): "

	* camel-mime-part.c (write_to_stream): Changed warning into a
	TODO.
	(construct_from_parser): removed warning, the code was fixed.

	* camel-mime-message.c (construct_from_parser): Remove the
	warning, the code was fixed.

	* camel-mime-filter-enriched.c (camel_mime_filter_enriched_new):
	Remove unused var.

	* camel-medium.c (camel_medium_get_header): Removed warning, and
	changed docs to reflect it.

	* camel-gpg-context.c (gpg_ctx_parse_status): handle MODE_EXPORT
	as a noop (warning).

	* camel-folder.c (get_message_user_tag): changed a warning into a
	fixme (its not that important).
	(camel_folder_get_message_user_tag): "

	* camel-data-cache.c (data_cache_finalise): removed unused vars.
	(data_cache_expire): "

svn path=/trunk/; revision=20556
2003-03-28 00:13:46 +00:00

214 lines
4.7 KiB
C

/* Command to manually force a compression/dump of an index file */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <ctype.h>
#include <sys/stat.h>
#include <sys/uio.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "e-util/e-msgport.h"
#include "e-util/e-memory.h"
#include "camel/camel-object.h"
#include "camel-text-index.h"
#include <stdio.h>
static void
do_usage(char *argv0)
{
fprintf(stderr, "Usage: %s [ compress | dump | info ] file(s) ...\n", argv0);
fprintf(stderr, " compress - compress (an) index file(s)\n");
fprintf(stderr, " dump - dump (an) index file's content to stdout\n");
fprintf(stderr, " info - dump summary info to stdout\n");
exit(1);
}
static int
do_compress(int argc, char **argv)
{
int i;
CamelIndex *idx;
for (i=2;i<argc;i++) {
printf("Opening index file: %s\n", argv[i]);
idx = (CamelIndex *)camel_text_index_new(argv[i], O_RDWR);
if (idx) {
printf(" Compressing ...\n");
if (camel_index_compress(idx) == -1) {
camel_object_unref((CamelObject *)idx);
return 1;
}
camel_object_unref((CamelObject *)idx);
} else {
printf(" Failed: %s\n", strerror (errno));
return 1;
}
}
return 0;
}
static int
do_dump(int argc, char **argv)
{
int i;
CamelIndex *idx;
for (i=2;i<argc;i++) {
printf("Opening index file: %s\n", argv[i]);
idx = (CamelIndex *)camel_text_index_new(argv[i], O_RDONLY);
if (idx) {
printf(" Dumping ...\n");
camel_text_index_dump((CamelTextIndex *)idx);
camel_object_unref((CamelObject *)idx);
} else {
printf(" Failed: %s\n", strerror (errno));
return 1;
}
}
return 0;
}
static int
do_info(int argc, char **argv)
{
int i;
CamelIndex *idx;
for (i=2;i<argc;i++) {
printf("Opening index file: %s\n", argv[i]);
idx = (CamelIndex *)camel_text_index_new(argv[i], O_RDONLY);
if (idx) {
camel_text_index_info((CamelTextIndex *)idx);
camel_object_unref((CamelObject *)idx);
} else {
printf(" Failed: %s\n", strerror (errno));
return 0;
}
}
return 1;
}
static int
do_check(int argc, char **argv)
{
int i;
CamelIndex *idx;
for (i=2;i<argc;i++) {
printf("Opening index file: %s\n", argv[i]);
idx = (CamelIndex *)camel_text_index_new(argv[i], O_RDONLY);
if (idx) {
camel_text_index_validate((CamelTextIndex *)idx);
camel_object_unref((CamelObject *)idx);
} else {
printf(" Failed: %s\n", strerror (errno));
return 0;
}
}
return 1;
}
static int do_perf(int argc, char **argv);
int main(int argc, char **argv)
{
extern int camel_init(const char *certdb_dir, gboolean nss_init);
if (argc<2)
do_usage(argv[0]);
g_thread_init(NULL);
camel_init(NULL, 0);
if (!strcmp(argv[1], "compress"))
return do_compress(argc, argv);
else if (!strcmp(argv[1], "dump"))
return do_dump(argc, argv);
else if (!strcmp(argv[1], "info"))
return do_info(argc, argv);
else if (!strcmp(argv[1], "check"))
return do_check(argc, argv);
else if (!strcmp(argv[1], "perf"))
return do_perf(argc, argv);
do_usage(argv[0]);
return 1;
}
#include <sys/types.h>
#include <dirent.h>
#include "camel-stream-null.h"
#include "camel-stream-filter.h"
#include "camel-mime-filter-index.h"
#include "camel-stream-fs.h"
static int
do_perf(int argc, char **argv)
{
CamelIndex *idx;
DIR *dir;
char *path = "/home/notzed/evolution/local/Inbox/mbox/cur";
struct dirent *d;
CamelStream *null, *filter, *stream;
CamelMimeFilterIndex *filter_index;
char *name;
CamelIndexName *idn;
dir = opendir(path);
if (dir == NULL) {
perror("open dir");
return 1;
}
idx = (CamelIndex *)camel_text_index_new("/tmp/index", O_TRUNC|O_CREAT|O_RDWR);
if (idx == NULL) {
perror("open index");
return 1;
}
null = camel_stream_null_new();
filter = (CamelStream *)camel_stream_filter_new_with_stream(null);
camel_object_unref((CamelObject *)null);
filter_index = camel_mime_filter_index_new_index(idx);
camel_stream_filter_add((CamelStreamFilter *)filter, (CamelMimeFilter *)filter_index);
while ((d = readdir(dir))) {
printf("indexing '%s'\n", d->d_name);
idn = camel_index_add_name(idx, d->d_name);
camel_mime_filter_index_set_name(filter_index, idn);
name = g_strdup_printf("%s/%s", path, d->d_name);
stream = camel_stream_fs_new_with_name(name, O_RDONLY, 0);
camel_stream_write_to_stream(stream, filter);
camel_object_unref((CamelObject *)stream);
g_free(name);
camel_index_write_name(idx, idn);
camel_object_unref((CamelObject *)idn);
camel_mime_filter_index_set_name(filter_index, NULL);
}
closedir(dir);
camel_index_sync(idx);
camel_object_unref((CamelObject *)idx);
camel_object_unref((CamelObject *)filter);
camel_object_unref((CamelObject *)filter_index);
return 0;
}