From 1088996e0ac2a1f500f8ca5bb565ef6be96695fe Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Thu, 11 Nov 2021 14:22:02 -0500 Subject: [PATCH] Fix CHIPClusters template for encoding CHAR_STRING. (#11661) We are grabbing the pointer from the Span and ignoring the length; we should just encode the Span as-is. --- .../templates/app/CHIPClusters-src.zapt | 2 +- .../zap-generated/CHIPClusters.cpp | 40 +++++++++---------- .../zap-generated/CHIPClusters.cpp | 2 +- .../tv-app/zap-generated/CHIPClusters.cpp | 4 +- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/app/zap-templates/templates/app/CHIPClusters-src.zapt b/src/app/zap-templates/templates/app/CHIPClusters-src.zapt index cad634ea0ddb02..968b568f2387c5 100644 --- a/src/app/zap-templates/templates/app/CHIPClusters-src.zapt +++ b/src/app/zap-templates/templates/app/CHIPClusters-src.zapt @@ -49,7 +49,7 @@ CHIP_ERROR {{asUpperCamelCase clusterName}}Cluster::{{asUpperCamelCase name}}(Ca {{/first}} // {{asLowerCamelCase label}}: {{asLowerCamelCase type}} {{#if (isCharString type)}} - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), {{asLowerCamelCase label}}.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), {{asLowerCamelCase label}})); {{else}} SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), {{asLowerCamelCase label}})); {{/if}} diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp index 6c671bc1fc8f27..fd72988768c7a9 100644 --- a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp @@ -60,7 +60,7 @@ CHIP_ERROR AccountLoginCluster::GetSetupPIN(Callback::Cancelable * onSuccessCall VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // tempAccountIdentifier: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier)); SuccessOrExit(err = sender->FinishCommand()); @@ -101,9 +101,9 @@ CHIP_ERROR AccountLoginCluster::Login(Callback::Cancelable * onSuccessCallback, VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // tempAccountIdentifier: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier)); // setupPIN: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), setupPIN.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), setupPIN)); SuccessOrExit(err = sender->FinishCommand()); @@ -439,11 +439,11 @@ CHIP_ERROR ApplicationLauncherCluster::LaunchApp(Callback::Cancelable * onSucces VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // data: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data)); // catalogVendorId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), catalogVendorId)); // applicationId: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), applicationId.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), applicationId)); SuccessOrExit(err = sender->FinishCommand()); @@ -532,7 +532,7 @@ CHIP_ERROR AudioOutputCluster::RenameOutput(Callback::Cancelable * onSuccessCall // index: int8u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), index)); // name: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name)); SuccessOrExit(err = sender->FinishCommand()); @@ -3831,7 +3831,7 @@ CHIP_ERROR ContentLauncherCluster::LaunchContent(Callback::Cancelable * onSucces // autoPlay: boolean SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), autoPlay)); // data: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data)); SuccessOrExit(err = sender->FinishCommand()); @@ -3872,9 +3872,9 @@ CHIP_ERROR ContentLauncherCluster::LaunchURL(Callback::Cancelable * onSuccessCal VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // contentURL: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), contentURL.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), contentURL)); // displayString: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), displayString.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), displayString)); SuccessOrExit(err = sender->FinishCommand()); @@ -5563,7 +5563,7 @@ CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable // location: regulatoryLocationType SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), location)); // countryCode: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode)); // breadcrumb: int64u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb)); // timeoutMs: int32u @@ -5759,7 +5759,7 @@ CHIP_ERROR GroupsCluster::AddGroup(Callback::Cancelable * onSuccessCallback, Cal // groupId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), groupId)); // groupName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName)); SuccessOrExit(err = sender->FinishCommand()); @@ -5802,7 +5802,7 @@ CHIP_ERROR GroupsCluster::AddGroupIfIdentifying(Callback::Cancelable * onSuccess // groupId: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), groupId)); // groupName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), groupName)); SuccessOrExit(err = sender->FinishCommand()); @@ -7046,7 +7046,7 @@ CHIP_ERROR MediaInputCluster::RenameInput(Callback::Cancelable * onSuccessCallba // index: int8u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), index)); // name: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), name)); SuccessOrExit(err = sender->FinishCommand()); @@ -8373,7 +8373,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * o // hardwareVersion: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), hardwareVersion)); // location: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location)); // requestorCanConsent: boolean SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), requestorCanConsent)); // metadataForProvider: octetString @@ -9309,7 +9309,7 @@ CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // label: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label)); SuccessOrExit(err = sender->FinishCommand()); @@ -10068,7 +10068,7 @@ CHIP_ERROR ScenesCluster::AddScene(Callback::Cancelable * onSuccessCallback, Cal // transitionTime: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime)); // sceneName: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), sceneName.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), sceneName)); // clusterId: clusterId SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), clusterId)); // length: int8u @@ -10599,7 +10599,7 @@ CHIP_ERROR TvChannelCluster::ChangeChannel(Callback::Cancelable * onSuccessCallb VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // match: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), match.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), match)); SuccessOrExit(err = sender->FinishCommand()); @@ -10773,7 +10773,7 @@ CHIP_ERROR TargetNavigatorCluster::NavigateTarget(Callback::Cancelable * onSucce // target: int8u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), target)); // data: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), data)); SuccessOrExit(err = sender->FinishCommand()); @@ -11147,7 +11147,7 @@ CHIP_ERROR TestClusterCluster::TestListStructArgumentRequest(Callback::Cancelabl // d: octetString SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), d)); // e: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e)); // f: simpleBitmap SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), f)); @@ -11318,7 +11318,7 @@ CHIP_ERROR TestClusterCluster::TestStructArgumentRequest(Callback::Cancelable * // d: octetString SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), d)); // e: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), e)); // f: simpleBitmap SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), f)); diff --git a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp index 96420c2a4445ea..6e8b1218fb4ea8 100644 --- a/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/ota-requestor-app/zap-generated/CHIPClusters.cpp @@ -164,7 +164,7 @@ CHIP_ERROR OtaSoftwareUpdateProviderCluster::QueryImage(Callback::Cancelable * o // hardwareVersion: int16u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), hardwareVersion)); // location: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), location)); // requestorCanConsent: boolean SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), requestorCanConsent)); // metadataForProvider: octetString diff --git a/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp b/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp index ea9bada042799c..13d82687574d55 100644 --- a/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp +++ b/zzz_generated/tv-app/zap-generated/CHIPClusters.cpp @@ -150,7 +150,7 @@ CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable // location: regulatoryLocationType SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), location)); // countryCode: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), countryCode)); // breadcrumb: int64u SuccessOrExit(err = writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb)); // timeoutMs: int32u @@ -702,7 +702,7 @@ CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable VerifyOrExit((writer = sender->GetCommandDataIBTLVWriter()) != nullptr, err = CHIP_ERROR_INCORRECT_STATE); // label: charString - SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label.data())); + SuccessOrExit(err = writer->PutString(TLV::ContextTag(argSeqNumber++), label)); SuccessOrExit(err = sender->FinishCommand());