summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/RubyUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/RubyUtil.cpp')
-rw-r--r--cpp/src/Slice/RubyUtil.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp
index abbb02ddd0f..3efd92320ff 100644
--- a/cpp/src/Slice/RubyUtil.cpp
+++ b/cpp/src/Slice/RubyUtil.cpp
@@ -1106,11 +1106,21 @@ Slice::Ruby::CodeVisitor::visitSequence(const SequencePtr& p)
//
string name = fixIdent(p->name(), IdentToUpper);
string scoped = p->scoped();
+ TypePtr type = p->type();
_out << sp << nl << "if not defined?(" << getAbsolute(p, IdentToUpper, "T_") << ')';
_out.inc();
_out << nl << "T_" << name << " = ::Ice::__defineSequence('" << scoped << "', ";
writeType(p->type());
- _out << ")";
+ _out << ", ";
+ if(type->isVariableLength())
+ {
+ _out << "true";
+ }
+ else
+ {
+ _out << "false";
+ }
+ _out << ", " << type->minWireSize() << ")";
_out.dec();
_out << nl << "end"; // if not defined?()
}