From 4b1d324964c8bc5868891280213c47d52e91fa64 Mon Sep 17 00:00:00 2001 From: Jan Fellner Date: Tue, 13 Jan 2026 16:39:51 +0100 Subject: [PATCH 1/3] UCAAS-1211 Further improved cases where objects were unnecessarily reused or copied. --- cpp-lib/include/asn-listset.h | 3 +-- cpp-lib/src/asn-optionalparam.cpp | 38 +++++++------------------------ 2 files changed, 9 insertions(+), 32 deletions(-) diff --git a/cpp-lib/include/asn-listset.h b/cpp-lib/include/asn-listset.h index 8c1cfeb..37a5575 100644 --- a/cpp-lib/include/asn-listset.h +++ b/cpp-lib/include/asn-listset.h @@ -307,10 +307,9 @@ template void AsnList::BDecContent(const SNACC::AsnBuf& b, SNACC::A template void AsnList::JEnc(SJson::Value& b) const { b = SJson::Value(SJson::arrayValue); - SJson::Value tmp; - for (auto i = this->cbegin(); i != this->cend(); ++i) { + SJson::Value tmp; i->JEnc(tmp); b.append(tmp); } diff --git a/cpp-lib/src/asn-optionalparam.cpp b/cpp-lib/src/asn-optionalparam.cpp index f47c00c..15b8677 100644 --- a/cpp-lib/src/asn-optionalparam.cpp +++ b/cpp-lib/src/asn-optionalparam.cpp @@ -35,23 +35,19 @@ void AsnOptionalParameters::JEnc(SJson::Value& b) const { /* b = SJson::Value(SJson::arrayValue); - SJson::Value tmp; - for (AsnOptionalParameters::const_reverse_iterator i = rbegin(); i != rend(); ++i) { + SJson::Value tmp; i->JEnc(tmp); b.append(tmp); } */ b = SJson::Value(SJson::objectValue); - SJson::Value tmp; - for (AsnOptionalParameters::const_reverse_iterator i = rbegin(); i != rend(); ++i) { - i->value.JEnc(tmp); std::string key; i->key.getUTF8(key); - b[key] = tmp; + i->value.JEnc(b[key]); } } @@ -205,14 +201,8 @@ AsnLen AsnOptionalParam::BEnc(AsnBuf& _b) const void AsnOptionalParam::JEnc(SJson::Value& b) const { b = SJson::Value(SJson::objectValue); - - SJson::Value tmp; - - key.JEnc(tmp); - b["key"] = tmp; - - value.JEnc(tmp); - b["value"] = tmp; + key.JEnc(b["key"]); + value.JEnc(b["value"]); } void AsnOptionalParam::BDec(const AsnBuf& _b, AsnLen& bytesDecoded) @@ -233,7 +223,6 @@ bool AsnOptionalParam::JDec(const SJson::Value& b) if (!b.isObject()) return false; - SJson::Value tmp; if (b.isMember("key")) { if (!key.JDec(b["key"])) @@ -429,25 +418,17 @@ void AsnOptionalParamChoice::JEnc(SJson::Value& b) const /* b = SJson::Value(SJson::objectValue); - SJson::Value tmp; - switch (choiceId) { case stringdataCid: - stringdata->JEnc (tmp); - b["stringdata"] = tmp; + stringdata->JEnc(b["stringdata"]); break; - case binarydataCid: - binarydata->JEnc (tmp); - b["binarydata"] = tmp; + binarydata->JEnc(b["binarydata"]); break; - case integerdataCid: - integerdata->JEnc (tmp); - b["integerdata"] = tmp; + integerdata->JEnc(b["integerdata"]); break; - default: throw EXCEPT("Choice is empty", ENCODE_ERROR); } // end switch @@ -461,9 +442,7 @@ void AsnOptionalParamChoice::JEnc(SJson::Value& b) const case binarydataCid: { b = SJson::Value(SJson::objectValue); - SJson::Value tmp; - binarydata->JEnc(tmp); - b["binarydata"] = tmp; + binarydata->JEnc(b["binarydata"]); break; } @@ -495,7 +474,6 @@ bool AsnOptionalParamChoice::JDec(const SJson::Value& b) Clear(); if (b.isObject()) { - SJson::Value tmp; if (b.isMember("stringdata")) { choiceId = stringdataCid; From 4c728d8f447bdc04147d85902b1fd13b4b44c6e3 Mon Sep 17 00:00:00 2001 From: Jan Fellner Date: Tue, 13 Jan 2026 16:40:26 +0100 Subject: [PATCH 2/3] UCAAS-1211 Bumped to new version 6.0.37 --- version.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/version.h b/version.h index 9caf2a6..3b0da2a 100644 --- a/version.h +++ b/version.h @@ -1,8 +1,8 @@ #ifndef VERSION_H #define VERSION_H -#define VERSION "6.0.36" -#define VERSION_RC 6, 0, 36 -#define RELDATE "12.01.2026" +#define VERSION "6.0.37" +#define VERSION_RC 6, 0, 37 +#define RELDATE "13.01.2026" #endif // VERSION_H From e41793484b0565e76448bff67137d00e2eea8d81 Mon Sep 17 00:00:00 2001 From: Jan Fellner Date: Tue, 13 Jan 2026 16:42:20 +0100 Subject: [PATCH 3/3] UCAAS-1211 Updated output files to reflect the newest version --- compiler/back-ends/ts-gen/gluecode/SNACCROSE.ts | 2 +- compiler/back-ends/ts-gen/gluecode/SNACCROSE_Converter.ts | 2 +- cpp-lib/include/SNACCROSE.h | 2 +- cpp-lib/src/SNACCROSE.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/back-ends/ts-gen/gluecode/SNACCROSE.ts b/compiler/back-ends/ts-gen/gluecode/SNACCROSE.ts index 6ab15f3..ab4db95 100644 --- a/compiler/back-ends/ts-gen/gluecode/SNACCROSE.ts +++ b/compiler/back-ends/ts-gen/gluecode/SNACCROSE.ts @@ -3,7 +3,7 @@ /* * SNACCROSE.ts * "SNACC-ROSE" ASN.1 stubs. - * This file was generated by estos esnacc (V6.0.36, 12.01.2026) + * This file was generated by estos esnacc (V6.0.37, 13.01.2026) * based on Coral WinSnacc written by Deepak Gupta * NOTE: This is a machine generated file - editing not recommended */ diff --git a/compiler/back-ends/ts-gen/gluecode/SNACCROSE_Converter.ts b/compiler/back-ends/ts-gen/gluecode/SNACCROSE_Converter.ts index 84d4257..2520fa2 100644 --- a/compiler/back-ends/ts-gen/gluecode/SNACCROSE_Converter.ts +++ b/compiler/back-ends/ts-gen/gluecode/SNACCROSE_Converter.ts @@ -3,7 +3,7 @@ /* * SNACCROSE_Converter.ts * "SNACC-ROSE" ASN.1 stubs. - * This file was generated by estos esnacc (V6.0.36, 12.01.2026) + * This file was generated by estos esnacc (V6.0.37, 13.01.2026) * based on Coral WinSnacc written by Deepak Gupta * NOTE: This is a machine generated file - editing not recommended */ diff --git a/cpp-lib/include/SNACCROSE.h b/cpp-lib/include/SNACCROSE.h index ec00693..44f7133 100644 --- a/cpp-lib/include/SNACCROSE.h +++ b/cpp-lib/include/SNACCROSE.h @@ -2,7 +2,7 @@ // // SNACCROSE.h - class definitions for ASN.1 module SNACC-ROSE // -// This file was generated by estos esnacc (V6.0.36, 12.01.2026) +// This file was generated by estos esnacc (V6.0.37, 13.01.2026) // based on Coral WinSnacc written by Deepak Gupta // NOTE: This is a machine generated file - editing not recommended // diff --git a/cpp-lib/src/SNACCROSE.cpp b/cpp-lib/src/SNACCROSE.cpp index f1a8531..c724322 100644 --- a/cpp-lib/src/SNACCROSE.cpp +++ b/cpp-lib/src/SNACCROSE.cpp @@ -2,7 +2,7 @@ // // SNACCROSE.cpp - class member functions for ASN.1 module SNACC-ROSE // -// This file was generated by estos esnacc (V6.0.36, 12.01.2026) +// This file was generated by estos esnacc (V6.0.37, 13.01.2026) // based on Coral WinSnacc written by Deepak Gupta // NOTE: This is a machine generated file - editing not recommended //