diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index 257bacaf3..0ba73140b 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -2603,6 +2603,10 @@ void ContactsManager::Chat::parse(ParserT &parser) { parse(status, parser); parse(default_permissions, parser); } else { + if (can_edit != (is_creator || is_administrator || everyone_is_administrator)) { + LOG(ERROR) << "Have wrong can_edit flag"; + } + if (kicked || !is_active) { status = DialogParticipantStatus::Banned(0); } else if (left) { diff --git a/td/telegram/files/FileLocation.h b/td/telegram/files/FileLocation.h index 10dafe7f3..879822aae 100644 --- a/td/telegram/files/FileLocation.h +++ b/td/telegram/files/FileLocation.h @@ -409,9 +409,8 @@ class FullRemoteFileLocation { return make_tl_object( photo().id_, photo().access_hash_, BufferSlice(file_reference_), std::string(1, static_cast(narrow_cast(thumbnail.thumbnail_type)))); - default: - break; } + break; } case PhotoSizeSource::Type::DialogPhotoSmall: case PhotoSizeSource::Type::DialogPhotoBig: { diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index 6a6ca7365..98a458efa 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -2566,7 +2566,7 @@ string FileManager::get_persistent_id(const FullRemoteFileLocation &location) { auto binary = serialize(location_copy); binary = zero_encode(binary); - binary.push_back(narrow_cast(Version::Next) - 1); + binary.push_back(static_cast(narrow_cast(Version::Next) - 1)); binary.push_back(PERSISTENT_ID_VERSION); return base64url_encode(binary); } @@ -2660,7 +2660,7 @@ Result FileManager::from_persistent_id_v3(Slice binary, FileType file_ty if (binary.empty()) { return Status::Error("Invalid remote id"); } - auto version = static_cast(binary.back()); + int32 version = static_cast(binary.back()); binary.remove_suffix(1); return from_persistent_id_v23(binary, file_type, version); }