aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog12
-rw-r--r--camel/camel-folder-summary.h1
-rw-r--r--camel/camel-service.c42
3 files changed, 38 insertions, 17 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 949e97a542..9649e166bf 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,15 @@
+2003-06-25 Jeffrey Stedfast <fejj@ximian.com>
+
+ * camel-folder-summary.h: Added prototype for
+ camel_folder_summary_remove_range().
+
+2003-06-25 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #45386
+
+ * camel-service.c (camel_gethostbyname, camel_gethostbyaddr): Make
+ sure we have an exception that we test against.
+
2003-06-20 Not Zed <NotZed@Ximian.com>
** See bug #43887
diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h
index e971faeece..0f92ff6248 100644
--- a/camel/camel-folder-summary.h
+++ b/camel/camel-folder-summary.h
@@ -255,6 +255,7 @@ void camel_folder_summary_content_info_free(CamelFolderSummary *s, CamelMessageC
void camel_folder_summary_remove(CamelFolderSummary *s, CamelMessageInfo *info);
void camel_folder_summary_remove_uid(CamelFolderSummary *s, const char *uid);
void camel_folder_summary_remove_index(CamelFolderSummary *s, int);
+void camel_folder_summary_remove_range(CamelFolderSummary *s, int start, int end);
/* remove all items */
void camel_folder_summary_clear(CamelFolderSummary *s);
diff --git a/camel/camel-service.c b/camel/camel-service.c
index 78c9fe5da6..7ea34d953d 100644
--- a/camel/camel-service.c
+++ b/camel/camel-service.c
@@ -731,20 +731,22 @@ get_hostbyname(void *data)
}
struct hostent *
-camel_gethostbyname (const char *name, CamelException *ex)
+camel_gethostbyname (const char *name, CamelException *exout)
{
#ifdef ENABLE_THREADS
int fdmax, status, fd, cancel_fd;
#endif
struct _lookup_msg *msg;
+ CamelException ex;
g_return_val_if_fail(name != NULL, NULL);
if (camel_operation_cancel_check(NULL)) {
- camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
+ camel_exception_set (exout, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
return NULL;
}
+ camel_exception_init(&ex);
camel_operation_start_transient(NULL, _("Resolving: %s"), name);
msg = g_malloc0(sizeof(*msg));
@@ -778,9 +780,9 @@ camel_gethostbyname (const char *name, CamelException *ex)
if (status == -1 || FD_ISSET(cancel_fd, &rdset)) {
if (status == -1)
- camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, _("Failure in name lookup: %s"), g_strerror(errno));
+ camel_exception_setv(&ex, CAMEL_EXCEPTION_SYSTEM, _("Failure in name lookup: %s"), g_strerror(errno));
else
- camel_exception_setv(ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
+ camel_exception_setv(&ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
/* We cancel so if the thread impl is decent it causes immediate exit.
We detach so we dont need to wait for it to exit if it isn't.
@@ -799,7 +801,7 @@ camel_gethostbyname (const char *name, CamelException *ex)
d(printf("child done\n"));
}
} else {
- camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, _("Host lookup failed: cannot create thread: %s"), g_strerror(errno));
+ camel_exception_setv(&ex, CAMEL_EXCEPTION_SYSTEM, _("Host lookup failed: cannot create thread: %s"), g_strerror(errno));
}
e_msgport_destroy(reply_port);
}
@@ -807,15 +809,15 @@ camel_gethostbyname (const char *name, CamelException *ex)
camel_operation_end(NULL);
- if (!camel_exception_is_set(ex)) {
+ if (!camel_exception_is_set(&ex)) {
if (msg->result == 0)
return &msg->hostbuf;
if (msg->herr == HOST_NOT_FOUND || msg->herr == NO_DATA)
- camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
+ camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM,
_("Host lookup failed: %s: host not found"), name);
else
- camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
+ camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM,
_("Host lookup failed: %s: unknown reason"), name);
}
@@ -824,6 +826,8 @@ camel_gethostbyname (const char *name, CamelException *ex)
g_free(msg);
}
+ camel_exception_xfer(exout, &ex);
+
return NULL;
}
@@ -857,20 +861,22 @@ get_hostbyaddr (void *data)
struct hostent *
-camel_gethostbyaddr (const char *addr, int len, int type, CamelException *ex)
+camel_gethostbyaddr (const char *addr, int len, int type, CamelException *exout)
{
#ifdef ENABLE_THREADS
int fdmax, status, fd, cancel_fd;
#endif
struct _lookup_msg *msg;
-
+ CamelException ex;
+
g_return_val_if_fail (addr != NULL, NULL);
if (camel_operation_cancel_check (NULL)) {
- camel_exception_set (ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
+ camel_exception_set (exout, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
return NULL;
}
-
+
+ camel_exception_init(&ex);
camel_operation_start_transient (NULL, _("Resolving address"));
msg = g_malloc0 (sizeof (struct _lookup_msg));
@@ -906,9 +912,9 @@ camel_gethostbyaddr (const char *addr, int len, int type, CamelException *ex)
if (status == -1 || FD_ISSET(cancel_fd, &rdset)) {
if (status == -1)
- camel_exception_setv(ex, CAMEL_EXCEPTION_SYSTEM, _("Failure in name lookup: %s"), g_strerror(errno));
+ camel_exception_setv(&ex, CAMEL_EXCEPTION_SYSTEM, _("Failure in name lookup: %s"), g_strerror(errno));
else
- camel_exception_setv(ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
+ camel_exception_setv(&ex, CAMEL_EXCEPTION_USER_CANCEL, _("Cancelled"));
/* We cancel so if the thread impl is decent it causes immediate exit.
We detach so we dont need to wait for it to exit if it isn't.
@@ -934,15 +940,15 @@ camel_gethostbyaddr (const char *addr, int len, int type, CamelException *ex)
camel_operation_end (NULL);
- if (!camel_exception_is_set(ex)) {
+ if (!camel_exception_is_set(&ex)) {
if (msg->result == 0)
return &msg->hostbuf;
if (msg->herr == HOST_NOT_FOUND || msg->herr == NO_DATA)
- camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
+ camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM,
_("Host lookup failed: host not found"));
else
- camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM,
+ camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM,
_("Host lookup failed: unknown reason"));
}
@@ -951,6 +957,8 @@ camel_gethostbyaddr (const char *addr, int len, int type, CamelException *ex)
g_free(msg);
}
+ camel_exception_xfer(exout, &ex);
+
return NULL;
}
ss='insertions'>+0 * [seems like when I thought I committed this first, I only committedfenner2004-02-082-6/+5 * Use PLIST_FILES (bento-tested, marcus-reviewed).trevor2004-02-0612-6/+6 * Use PLIST_FILES.trevor2004-02-062-1/+1 * Bump PORTREVISION on all ports that depend on gettext to aid with upgrading.marcus2004-02-045-1/+5 * Update tcl/tk dependency to 8.4.fenner2004-02-023-3/+14 * Upgrade rat to version 4.2.25.fenner2004-02-025-33/+12 * Update to sdr 3.0.fenner2004-02-023-14/+3 * SIZEify.trevor2004-01-303-0/+3 * Use the new ghostscript options.marcus2004-01-211-9/+3 * Add a dummy run-autotools target to pacify the new bsd.port.mk.marcus2004-01-201-0/+3 * Reset maintainer to ports@ due to maintainer's request -- he hasn'tlinimon2004-01-131-1/+1 * - Update to 2.99.1pav2004-01-0912-37/+189 * Add xspeakfree, a Tcl/Tk frontent to Speak Freely.pav2003-12-135-0/+56 * Mark as broken on 5.x due to the usual gcc3.3 bitrot.linimon2003-12-121-2/+8 * - Unbreak by adding dependency on makedepend.pav2003-11-211-0/+2 * Define USE_PERL5_BUILD, not erroneous USE_PERL.trevor2003-11-201-1/+1 * Define USE_PERL to make Perl available for (mostly deprecated)trevor2003-11-201-0/+1 * Add mcl 2.99,bms2003-11-1532-0/+560 * ports with possibly unreachable MAINTAINERsedwin2003-11-021-1/+1 * Move inclusion of bsd.port.pre.mk after definiton of all variables.linimon2003-10-295-24/+28 * Remove blank line to pacify portlint.linimon2003-10-221-1/+0 * Mark as broken on 5.x. Fix plist. Notified maintainer.linimon2003-10-222-2/+7 * Mark as broken on 5.x. The last distfile is from 1997. A google searchlinimon2003-10-221-2/+8 * Mark as broken on 5.x. The distfile is from 1997. While here, updatelinimon2003-10-222-1/+9 * Mark broken on 5.x. The distfile is from 1996 so updates might notlinimon2003-10-222-1/+9 * Make portlint(1) happy by changing strip to ${STRIP_CMD}osa2003-09-243-4/+4 * [PATCH] mbone/wb: enable choose of ghostscript interpreteredwin2003-08-311-1/+15 * Update to 7.6a.naddy2003-06-264-36/+43 * Undo an obsoleted patch to include <sys/soundcard.h> instead ofkris2003-05-101-3/+3 * Use -DAUDIO_BLOCKING. This should hopefully fix sfmike wedging and becomingadamw2003-03-241-1/+1 * Clear moonlight beckons.ade2003-03-0720-10/+10 * Remove RESTRICTED tag for crypto stuff.nork2003-02-232-3/+0 * De-pkg-comment.knu2003-02-214-2/+2 * De-pkg-comment.knu2003-02-214-2/+2 * Don't treat alpha specially with INT_64. INT_64 is not used consistentlyfenner2003-02-011-0/+15 * Make the struct huffentry public so that global variablesfenner2003-01-241-0/+16 * Use std::memset instead of just memsetfenner2003-01-241-0/+73 * Fix signal handler prototype to make newer g++ happyfenner2003-01-242-0/+18 * Build with tcl/tk 8.3fenner2003-01-242-37/+37 * Change of back-up location.orion2003-01-211-3/+3 * Partially fix build on sparc64 (Don't need to prototype inet_ntopkris2003-01-121-0/+13 * fix fetch for mbone/speak-freelyedwin2002-12-126-88/+54 * Fix fetcharved2002-12-111-1/+1 * Made mbone/rat compiling again (double patch-file)edwin2002-11-151-53/+0 * o Rollback PORTCOMMENT modifications while this feature's implementationlioux2002-11-114-4/+2 * Use PORTCOMMENT in the Makefile, and whack the pkg-comment.adamw2002-11-074-2/+4 * Change MAINTAINER to tmutoh@mx10.freecom.ne.jp.nork2002-10-271-1/+1 * Fix build on -current and respect CC and CFLAGSkris2002-10-215-72/+96 * MASTER_SITE moved. Upgrade still to do.fenner2002-10-081-1/+1 * Fix broken rtpmon build.fenner2002-09-303-12/+35 * Fix broken rqm port to work with more modern uclmmbasefenner2002-09-301-0/+18 * Fix build on -current (machine/soundcard.h -> sys/soundcard.h)kris2002-09-082-0/+22 * Update to version 4.2.22.orion2002-08-114-293/+8 * Bump PORTREVISION.jkoshy2002-06-131-0/+1 * Fix a bug that removes a startup problem with rtpmon, namely erroring outjkoshy2002-06-111-0/+10 * machine/soundcard.h -> sys/soundcard.hpetef2002-06-071-0/+5 * Support IPv6.sumikawa2002-03-244-2/+81 * Sync to rat-4.2.20.orion2002-02-259-168/+305 * Fix MASTER_SITES and remove redundant distinfo entrypat2002-02-082-2/+1 * Fix for autoconfpat2002-01-271-2/+2 * Fix for -CURRENT, malloc.h->stdlib.hpat2002-01-021-0/+4 * Set LATEST_LINK to rat30.knu2001-11-071-0/+2 * Sort entries and remove a duplicate "rqm".knu2001-09-211-2/+1 * Replace the ghostscript55 dependencies with ghostscript-gnu.knu2001-09-121-1/+1 * Make nte initialize TCL properly.fenner2001-08-021-0/+16 * Update to vic 2.8ucl-1.1.3fenner2001-08-0230-3415/+149 * New port for multicast AV tool.kiri2001-06-079-0/+113 * New port for RAT(network audio tool) version 3.kiri2001-06-0710-0/+199 * wb compatible open source shared whiteboard programassar2001-05-127-0/+90 * Update to rtptools 1.17fenner2001-04-225-52/+54 * Remove patch-agmharo2001-04-061-13/+0 * Fix buildmharo2001-04-062-10/+59 * Correct reversed patchmharo2001-04-061-4/+4 * Remove empty filemharo2001-04-061-0/+0 * Update to 4.2.13mharo2001-04-026-1085/+43 * Bump PORTREVISION to reflect Orion's fix for newpcm duplex and mixers.fenner2001-02-161-0/+1 * patch-ah: add Orion Hodson's full-duplex probing and AC97 fixfenner2001-02-155-110/+123 * Massive style enforcement - use ^I instead of spaces for variables identation.sobomax2001-01-173-15/+15 * ghostscript5 doesn't exist anymore, so change dependencies to ghostscript55.asami2000-11-251-1/+1 * newpcm reports the mixer vol control as an input, but it is an outputsobomax2000-11-021-0/+20 * Add PORTREVISION=1 to reflect the changed behaviour by the previoussumikawa2000-09-221-0/+1 * Enable IPv6.sumikawa2000-09-223-39/+71 * The port was suffering bit rot deriving from differences between theade2000-09-199-50/+1121 * @dirrm share/doc/rqmasami2000-07-051-0/+1 * Remove extraneous directories on deinstallkris2000-07-041-0/+2 * Move the stragler's www.freebsd.org/~user distfiles to the officalobrien2000-06-291-1/+2 * Nuke mbone/mbone_vcrjseger2000-05-011-1/+0 * Convert to PORTNAME/PORTVERSION.asami2000-04-1411-23/+23 * Fix sdr:tcl_parsed_plugins can't read "(CRYPTKEY)": no such variablefenner2000-03-201-0/+11 * Remove sdr-current; UCL no longer has a multi-version release systemfenner2000-03-091-1/+0 * Use u_int32_t instead of u_int32. This makes this port compatible withfenner2000-03-091-0/+20