File 0003-Fix-returning-instance-as-an-output-argument-from-me.patch of Package konkretcmpi

From aca6c7f910ffe9930b5789969f0adfadd668bb46 Mon Sep 17 00:00:00 2001
From: Michal Minar <miminar@redhat.com>
Date: Fri, 20 Jun 2014 10:50:45 +0200
Subject: [PATCH 3/5] Fix returning instance as an output argument from method

Submitted By: Radek Novacek <rnovacek@redhat.com>
---
 src/program/main.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/program/main.cpp b/src/program/main.cpp
index 885dc12f3857..9e7108acdf23 100644
--- a/src/program/main.cpp
+++ b/src/program/main.cpp
@@ -506,7 +506,11 @@ static void gen_feature_decls(
 
             // Add sig entry [type][length][name][zero-terminator]
 
-            KTag tag = _ktag(pd->data_type, pd->array_index, key, false, false);
+            KTag tag;
+            if (pd->qualifiers->has_key("EmbeddedInstance"))
+                tag = _ktag(TOK_INSTANCE, pd->array_index, key, false, false);
+            else
+                tag = _ktag(pd->data_type, pd->array_index, key, false, false);
             pack_tag(sig, tag);
             pack_name(sig, pd->name);
             count++;
@@ -640,6 +644,7 @@ static void gen_param(FILE* os, MOF_Parameter* p, vector<unsigned char>& sig)
         const char* ktn = _ktype_name(p->data_type);
 
         if (p->qualifiers->has_key("EmbeddedInstance")) {
+            tag = _ktag(TOK_INSTANCE, p->array_index, false, in, out);
             if (p->array_index)
                 put(os, "    KInstanceA $0;\n", p->name, NULL);
             else
-- 
2.7.2

openSUSE Build Service is sponsored by