mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Another archival checkin...
This commit is contained in:
		| @@ -178,7 +178,7 @@ static ProtoField resolveProtoPath( | ||||
|     if (!field) | ||||
|         fail(); | ||||
|  | ||||
|     return std::make_tuple(message, field, -1); | ||||
|     return std::make_tuple(message, field, index); | ||||
| } | ||||
|  | ||||
| ProtoField makeProtoPath( | ||||
| @@ -221,7 +221,7 @@ static int32_t parseEnum( | ||||
|     const auto* enumvalue = enumfield->FindValueByName(value); | ||||
|     if (!enumvalue) | ||||
|         error("unrecognised enum value '{}'", value); | ||||
|     return enumvalue->index(); | ||||
|     return enumvalue->number(); | ||||
| } | ||||
|  | ||||
| template <typename T> | ||||
| @@ -280,7 +280,7 @@ void setProtoFieldFromString(ProtoField& protoField, const std::string& value) | ||||
|                     reflection->GetMutableRepeatedFieldRef<uint32_t>( | ||||
|                         message, field), | ||||
|                     index, | ||||
|                     (uint32_t)toUInt64(value)); | ||||
|                     (uint32_t)toUint64(value)); | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_UINT64: | ||||
| @@ -288,7 +288,7 @@ void setProtoFieldFromString(ProtoField& protoField, const std::string& value) | ||||
|                     reflection->GetMutableRepeatedFieldRef<uint64_t>( | ||||
|                         message, field), | ||||
|                     index, | ||||
|                     toUInt64(value)); | ||||
|                     toUint64(value)); | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_STRING: | ||||
| @@ -308,8 +308,11 @@ void setProtoFieldFromString(ProtoField& protoField, const std::string& value) | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_ENUM: | ||||
|                 reflection->SetRepeatedEnum( | ||||
|                     message, field, index, parseEnum(field, value)); | ||||
|                 updateRepeatedField( | ||||
|                     reflection->GetMutableRepeatedFieldRef<int32_t>( | ||||
|                         message, field), | ||||
|                     index, | ||||
|                     parseEnum(field, value)); | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_MESSAGE: | ||||
| @@ -320,11 +323,6 @@ void setProtoFieldFromString(ProtoField& protoField, const std::string& value) | ||||
|                         value); | ||||
|                     break; | ||||
|                 } | ||||
|                 if (field->containing_oneof() && value.empty()) | ||||
|                 { | ||||
|                     reflection->MutableRepeatedMessage(message, field, index); | ||||
|                     break; | ||||
|                 } | ||||
|                 /* fall through */ | ||||
|             default: | ||||
|                 error("can't set this config value type"); | ||||
| @@ -369,7 +367,7 @@ void setProtoFieldFromString(ProtoField& protoField, const std::string& value) | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_ENUM: | ||||
|                 reflection->SetEnum(message, field, parseEnum(field, value)); | ||||
|                 reflection->SetEnumValue(message, field, parseEnum(field, value)); | ||||
|                 break; | ||||
|  | ||||
|             case google::protobuf::FieldDescriptor::TYPE_MESSAGE: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user