Used feedback string type plugin when no loaded.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 22 Sep 2005 14:01:57 +0000 (14:01 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 22 Sep 2005 14:01:57 +0000 (14:01 +0000)
JP context killer.

org.glite.jp.common/interface/context.h
org.glite.jp.common/src/attr.c
org.glite.jp.common/src/context.c

index 20effb2..40ae2eb 100644 (file)
@@ -2,6 +2,7 @@
 #define __GLITE_JP_CONTEXT
 
 int glite_jp_init_context(glite_jp_context_t *);
+void glite_jp_free_context(glite_jp_context_t);
 void glite_jp_free_query_rec(glite_jp_query_rec_t *);
 
 char *glite_jp_peer_name(glite_jp_context_t);
index c8f6ff3..aef6285 100644 (file)
@@ -121,7 +121,7 @@ static glite_jp_tplug_data_t *get_plugin(glite_jp_context_t ctx,const char *anam
        void    **cp = ctx->type_plugins;
        char    *colon,*ns;
 
-       assert(cp);
+       if (!cp) return &fallback_plugin;
        glite_jp_clear_error(ctx);
        ns = strdup(aname);
        colon = strrchr(ns,':');
index fc7b0bf..adb4132 100644 (file)
@@ -6,7 +6,13 @@
 
 int glite_jp_init_context(glite_jp_context_t *ctx)
 {
-       *ctx = calloc(1,sizeof **ctx);
+       return (*ctx = calloc(1,sizeof **ctx)) != NULL;
+}
+
+void glite_jp_free_context(glite_jp_context_t ctx)
+{
+       glite_jp_clear_error(ctx);
+       free(ctx);
 }
 
 char *glite_jp_peer_name(glite_jp_context_t ctx)