File konkretcmpi-0.9.2-fix-returning-instance-from-method.patch of Package konkretcmpi
commit aca6c7f910ffe9930b5789969f0adfadd668bb46
Author: Michal Minar <miminar@redhat.com>
Date: Fri Jun 20 10:50:45 2014 +0200
Fix returning instance as an output argument from method
Submitted By: Radek Novacek <rnovacek@redhat.com>
diff --git a/src/program/main.cpp b/src/program/main.cpp
index 885dc12..9e7108a 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