Generated/fixed warnings. Free configuration.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 3 Oct 2005 10:45:10 +0000 (10:45 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 3 Oct 2005 10:45:10 +0000 (10:45 +0000)
org.glite.jp.index/Makefile
org.glite.jp.index/examples/jpis-db-internal.c
org.glite.jp.index/src/conf.c
org.glite.jp.index/src/db_ops.c
org.glite.jp.index/src/db_ops.h
org.glite.jp.index/src/soap_ops.c
org.glite.jp.index/src/soap_ps_calls.c
org.glite.jp.index/src/ws_typeref.c
org.glite.jp.index/src/ws_typeref.h

index 8ff1a33..6acc32e 100644 (file)
@@ -31,7 +31,7 @@ GLOBUS_LIBS:=-L${globus_prefix}/lib \
 
 GLOBUS_CFLAGS:=-I${globus_prefix}/include/${nothrflavour}
 
-DEBUG:=-g -O0  -DDEBUG
+DEBUG:=-W -Wall -Wno-unused-parameter -Wno-unused-function -g -O0  -DDEBUG
 
 CFLAGS:=${DEBUG} -I. -I${top_srcdir}/interface -I${top_srcdir}/src -I${gsoap_prefix}/include -I${stagedir}/include ${GLOBUS_CFLAGS} -I${mysql_prefix}/include -I${mysql_prefix}/include/mysql
 LDFLAGS:=-L${stagedir}/lib
index b890445..cc08cbe 100644 (file)
@@ -1,3 +1,5 @@
+#define _GNU_SOURCE
+
 #include <errno.h>
 #include <string.h>
 #include <stdlib.h>
@@ -8,7 +10,7 @@
 #include "db_ops.h"
 
 
-static print_err(glite_jp_context_t ctx) {
+static void print_err(glite_jp_context_t ctx) {
        glite_jp_error_t *e;
 
        e = ctx->error;
@@ -49,7 +51,7 @@ int main(int argc, char *argv[]) {
                        printf("locked: uniqueid=%li, ps=%s\n", uniqueid, ps);
                        free(ps);
 
-                       asprintf(&feedid, "feed://%d", uniqueid + 3);
+                       asprintf(&feedid, "feed://%lu", uniqueid + 3);
                        if (glite_jpis_initFeed(isctx, uniqueid, feedid, (time_t)10000) != 0) {
                                free(feedid);
                                goto faildb;
index 764ce32..9e7aa2a 100644 (file)
@@ -5,6 +5,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include <glite/jp/types.h>
+#include <glite/jp/context.h>
 #include "conf.h"
 
 
@@ -59,5 +61,27 @@ int glite_jp_get_conf(int argc, char **argv, char *config_file, glite_jp_is_conf
 
 void glite_jp_free_conf(glite_jp_is_conf *conf)
 {
-       // XXX: structure dealocation
+       size_t i, j, k;
+       glite_jp_is_feed *feed;
+
+       if (!conf) return;
+
+       if (conf->attrs) for (i = 0; conf->attrs[i]; i++) free(conf->attrs[i]);
+       if (conf->indexed_attrs) for (i = 0; conf->indexed_attrs[i]; i++) free(conf->indexed_attrs[i]);
+       if (conf->plugins) for (i = 0; conf->plugins[i]; i++) free(conf->plugins[i]);
+       if (conf->feeds) for (i = 0; conf->feeds[i]; i++) {
+               feed = conf->feeds[i];
+               free(feed->PS_URL);
+               for (j = 0; feed->query[j]; j++) {
+                       for (k = 0; feed->query[j][k].attr; k++) glite_jp_free_query_rec(&feed->query[j][k]);
+                       free(feed->query[j]);
+               }
+               free(feed->query);
+               free(feed);
+       }
+       free(conf->attrs);
+       free(conf->indexed_attrs);
+       free(conf->plugins);
+       free(conf->feeds);
+       free(conf);
 }
index 39a718e..b2a4408 100644 (file)
@@ -1,11 +1,14 @@
 #ident "$Header$"
 
+#define _GNU_SOURCE
+
 #include <time.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <inttypes.h>
 #include <string.h>
 #include <assert.h>
+#include <stdio.h>
 
 #include <glite/jp/types.h>
 #include <glite/jp/context.h>
@@ -47,7 +50,7 @@
 
 #define COND_MAGIC 0x444E4F43
 
-static is_indexed(glite_jp_is_conf *conf, const char *attr) {
+static int is_indexed(glite_jp_is_conf *conf, const char *attr) {
        size_t i;
 
        i = 0;
@@ -67,11 +70,13 @@ static size_t db_arg2_length(glite_jp_query_rec_t *query) {
        switch (query->op) {
                case GLITE_JP_QUERYOP_WITHIN:
                        len = query->binary ? query->size2 : strlen(query->value2) + 1;
+               case GLITE_JP_QUERYOP_UNDEF:
                case GLITE_JP_QUERYOP_EQUAL:
                case GLITE_JP_QUERYOP_UNEQUAL:
                case GLITE_JP_QUERYOP_LESS:
                case GLITE_JP_QUERYOP_GREATER:
                case GLITE_JP_QUERYOP_EXISTS:
+               case GLITE_JP_QUERYOP__LAST:
                        len = 0;
        }
 
@@ -191,7 +196,7 @@ static int glite_jpis_db_queries_deserialize(glite_jp_query_rec_t ***queries, vo
                if ((query = calloc(sizeof(*query), 1)) == NULL) goto fail;
                l = array_get_long(&blob_ptr);
                if (l != COND_MAGIC) {
-                       printf("blob=%p, blob_ptr=%p, 0x%08" PRIX32 "\n", blob, blob_ptr, l);
+                       lprintf("blob=%p, blob_ptr=%p, 0x%08" PRIX32 "\n", blob, blob_ptr, l);
                        ret = EINVAL;
                        goto fail_query;
                }
@@ -360,7 +365,7 @@ fail:
 
 int glite_jpis_dropDatabase(glite_jp_context_t ctx) {
        glite_jp_db_stmt_t stmt_tabs;
-       void *inp, *res;
+       void *res;
        char attrid[33], sql[256];
        unsigned long len;
        int ret;
@@ -455,7 +460,7 @@ fail:
 }
 
 
-int glite_jpis_free_context(glite_jpis_context_t ctx) {
+void glite_jpis_free_context(glite_jpis_context_t ctx) {
        glite_jp_db_freestmt(&ctx->select_unlocked_feed_stmt);
        glite_jp_db_freestmt(&ctx->lock_feed_stmt);
        glite_jp_db_freestmt(&ctx->init_feed_stmt);
index 85f0aa7..ed3e78c 100644 (file)
@@ -31,7 +31,7 @@ int glite_jpis_initDatabase(glite_jp_context_t ctx, glite_jp_is_conf *conf);
 int glite_jpis_dropDatabase(glite_jp_context_t ctx);
 
 int glite_jpis_init_context(glite_jpis_context_t *isctx, glite_jp_context_t jpctx);
-int glite_jpis_free_context(glite_jpis_context_t ctx);
+void glite_jpis_free_context(glite_jpis_context_t ctx);
 
 int glite_jpis_lockUninitializedFeed(glite_jpis_context_t ctx, long int *uinqueid, char **PS_URL);
 int glite_jpis_initFeed(glite_jpis_context_t ctx, long int uniqueid, char *feedId, time_t feedExpires);
index e1a17ad..76a57a2 100644 (file)
@@ -9,6 +9,7 @@
 #include "jpis_.nsmap"
 #include "soap_version.h"
 #include "db_ops.h"
+#include "ws_typeref.h"
 
 
 
@@ -35,7 +36,6 @@ static struct jptype__genericFault *jp2s_error(struct soap *soap,
 
 static void err2fault(const glite_jp_context_t ctx,struct soap *soap)
 {
-       char    *et;
        struct SOAP_ENV__Detail *detail = soap_malloc(soap,sizeof *detail);
        struct _genericFault *f = soap_malloc(soap,sizeof *f);
 
@@ -78,7 +78,7 @@ static int updateJob(glite_jpis_context_t isctx, struct jptype__jobRecord *jobAt
 
        for (iattrs = 0; iattrs < jobAttrs->__sizeattributes; iattrs++) {
                attr = jobAttrs->attributes[iattrs];
-               SoapToAttrVal(&av, attr);
+               glite_jpis_SoapToAttrVal(&av, attr);
                if ((ret = glite_jpis_insertAttrVal(isctx, jobAttrs->jobid, &av)) != 0) return ret;
        }
 
index 85532b3..dc61eb0 100644 (file)
@@ -38,7 +38,6 @@ static struct jptype__genericFault *jp2s_error(struct soap *soap,
 
 static void err2fault(const glite_jp_context_t ctx,struct soap *soap)
 {
-       char    *et;
        struct SOAP_ENV__Detail *detail = soap_malloc(soap,sizeof *detail);
        struct _genericFault *f = soap_malloc(soap,sizeof *f);
 
@@ -80,8 +79,8 @@ void MyFeedIndex(glite_jpis_context_t ctx, glite_jp_is_conf *conf, long int uniq
 {
        struct _jpelem__FeedIndex               in;
        struct _jpelem__FeedIndexResponse       out;
-       struct jptype__primaryQuery             query;
-       struct jptype__stringOrBlob             value;
+//     struct jptype__primaryQuery             query;
+//     struct jptype__stringOrBlob             value;
 //     struct xsd__base64Binary                blob;
        int                                     i, dest_index;
        struct soap                             *soap = soap_new();
index 8f5db7f..e8b0436 100644 (file)
@@ -122,7 +122,7 @@ static void SoapToAttrOrig(glite_jp_attr_orig_t *out, const enum jptype__attrOri
         }
 }
 
-void SoapToAttrVal(glite_jp_attrval_t *av, const struct jptype__attrValue *attr) {
+void glite_jpis_SoapToAttrVal(glite_jp_attrval_t *av, const struct jptype__attrValue *attr) {
        memset(av, 0, sizeof(*av));
        av->name = attr->name;
        av->binary = attr->value->blob ? 1 : 0;
index 9aae027..bcdc436 100644 (file)
@@ -3,6 +3,6 @@
 
 int glite_jpis_QueryCondToSoap(struct soap *soap, glite_jp_query_rec_t *in, struct jptype__primaryQuery **out);
 
-void SoapToAttrVal(glite_jp_attrval_t *av, const struct jptype__attrValue *attr);
+void glite_jpis_SoapToAttrVal(glite_jp_attrval_t *av, const struct jptype__attrValue *attr);
 
 #endif