1*cc02d7e2SAndroid Build Coastguard Worker // Copyright 2023 The gRPC Authors 2*cc02d7e2SAndroid Build Coastguard Worker // 3*cc02d7e2SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License"); 4*cc02d7e2SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License. 5*cc02d7e2SAndroid Build Coastguard Worker // You may obtain a copy of the License at 6*cc02d7e2SAndroid Build Coastguard Worker // 7*cc02d7e2SAndroid Build Coastguard Worker // http://www.apache.org/licenses/LICENSE-2.0 8*cc02d7e2SAndroid Build Coastguard Worker // 9*cc02d7e2SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software 10*cc02d7e2SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS, 11*cc02d7e2SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cc02d7e2SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and 13*cc02d7e2SAndroid Build Coastguard Worker // limitations under the License. 14*cc02d7e2SAndroid Build Coastguard Worker 15*cc02d7e2SAndroid Build Coastguard Worker #include <string> 16*cc02d7e2SAndroid Build Coastguard Worker 17*cc02d7e2SAndroid Build Coastguard Worker namespace grpc_generator { 18*cc02d7e2SAndroid Build Coastguard Worker EscapeVariableDelimiters(const std::string & original)19*cc02d7e2SAndroid Build Coastguard Workerstd::string EscapeVariableDelimiters(const std::string& original) { 20*cc02d7e2SAndroid Build Coastguard Worker std::string mut_str = original; 21*cc02d7e2SAndroid Build Coastguard Worker size_t index = 0; 22*cc02d7e2SAndroid Build Coastguard Worker while ((index = mut_str.find('$', index)) != std::string::npos) { 23*cc02d7e2SAndroid Build Coastguard Worker mut_str.replace(index, 1, "$$"); 24*cc02d7e2SAndroid Build Coastguard Worker index += 2; 25*cc02d7e2SAndroid Build Coastguard Worker } 26*cc02d7e2SAndroid Build Coastguard Worker return mut_str; 27*cc02d7e2SAndroid Build Coastguard Worker } 28*cc02d7e2SAndroid Build Coastguard Worker 29*cc02d7e2SAndroid Build Coastguard Worker } // namespace grpc_generator 30