From 94da4a5c8dc4cec0197ae9e7304c651dbec65e3a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Wed, 16 Nov 2005 12:06:06 +0000 Subject: [PATCH] do not duplicate owner value if it is already present among fed attributes --- org.glite.jp.primary/src/feed.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/org.glite.jp.primary/src/feed.c b/org.glite.jp.primary/src/feed.c index b9d8195..7220d4b 100644 --- a/org.glite.jp.primary/src/feed.c +++ b/org.glite.jp.primary/src/feed.c @@ -74,14 +74,20 @@ int full_feed( const char *job, glite_jp_attrval_t **attrs) { - int i,ret; - char **ma; - - for (i=0; feed->attrs[i]; i++); - ma = malloc((i+2) * sizeof *ma); - ma[0] = GLITE_JP_ATTR_OWNER; - memcpy(ma+1,feed->attrs,(i+1) * sizeof *ma); - ret = glite_jpps_get_attrs(ctx,job,ma,i+1,attrs); + int i,ret,no_owner = 1; + char **ma = NULL; + + for (i=0; feed->attrs[i]; i++) + if (!strcmp(feed->attrs[i],GLITE_JP_ATTR_OWNER)) no_owner = 0; + + if (no_owner) { + ma = malloc((i+2) * sizeof *ma); + ma[0] = GLITE_JP_ATTR_OWNER; + memcpy(ma+1,feed->attrs,(i+1) * sizeof *ma); + } + ret = glite_jpps_get_attrs(ctx,job, + no_owner ? ma : feed->attrs, + i+no_owner,attrs); free(ma); return ret; } -- 1.8.2.3