CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT: Handle NULL gracefully.
authorMatthew Barnes <mbarnes@redhat.com>
Fri, 22 Jun 2012 13:25:24 +0000 (09:25 -0400)
committerMatthew Barnes <mbarnes@redhat.com>
Fri, 22 Jun 2012 13:25:24 +0000 (09:25 -0400)
Evaluates to FALSE if the 'provider' pointer is NULL.

camel/camel-provider.h

index 571e5f9..73e0c74 100644 (file)
@@ -96,7 +96,10 @@ typedef enum {
        CAMEL_URL_PATH_IS_ABSOLUTE = 1 << 31,
 } CamelProviderURLFlags;
 
-#define CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(prov) (prov->object_types[CAMEL_PROVIDER_STORE] && prov->object_types[CAMEL_PROVIDER_TRANSPORT])
+#define CAMEL_PROVIDER_IS_STORE_AND_TRANSPORT(provider) \
+       ((provider != NULL) && \
+       ((provider->object_types[CAMEL_PROVIDER_STORE] != G_TYPE_INVALID) && \
+       ((provider->object_types[CAMEL_PROVIDER_TRANSPORT] != G_TYPE_INVALID)
 
 /* Generic extra config stuff */