]> Some of my projects - anidbudpclient.git/commitdiff
Warn if amask/fmask bits get removed. Setting invalid bits might make break result...
authorAPTX <marek321@gmail.com>
Wed, 23 May 2012 22:20:37 +0000 (00:20 +0200)
committerAPTX <marek321@gmail.com>
Wed, 23 May 2012 22:20:37 +0000 (00:20 +0200)
animecommand.cpp
filecommand.cpp

index 3a83a521e7d84cd277c3827d6153a0e5296ea62c..c31f88d7df6ff226d72f1ad6aaace932a37d2d4c 100644 (file)
@@ -78,8 +78,15 @@ Command AnimeCommand::rawCommand() const
                cmd.second["aname"] = m_aname;\r
 \r
        if (m_amask)\r
+       {\r
+               if ((m_amask & AnimeFlag::AllData) != m_amask)\r
+               {\r
+                       qWarning() << "Clearing invalid bits in amask";\r
+               }\r
+\r
                cmd.second["amask"] = QString::number(m_amask & AnimeFlag::AllData, 16)\r
                                .rightJustified(14, QLatin1Char('0'));;\r
+       }\r
 \r
        return cmd;\r
 }\r
index 931d8c9cd1bc438263f8ceb42097f02165a8820d..b9d92d3869e1632a088099ef9a1605f705ba3e32 100644 (file)
@@ -230,10 +230,19 @@ Command FileCommand::rawCommand() const
                cmd.second["fid"] = m_fid;
        }
 
+       if ((m_fmask & FileFlag::AllData) != m_fmask)
+       {
+               qWarning() << "Clearing invalid bits in fmask";
+       }
+       if ((m_amask & FileAnimeFlag::AllData) != m_amask)
+       {
+               qWarning() << "Clearing invalid bits in fmask";
+       }
+
        // Clear any bits which aren't known and pad to 8 characters
        cmd.second["fmask"] = QString::number(m_fmask & FileFlag::AllData, 16)
                                                  .rightJustified(10, QLatin1Char('0'));
-       cmd.second["amask"] = QString::number(quint32(m_amask & FileAnimeFlag::AllData), 16)
+       cmd.second["amask"] = QString::number(m_amask & FileAnimeFlag::AllData, 16)
                                                  .rightJustified(8, QLatin1Char('0'));
 
        return cmd;
@@ -315,7 +324,7 @@ void FileReply::readReplyData(const QString &reply)
                {
                        if (partNo >= parts.size())
                        {
-                               qWarning() << "Not enough parts in reply.";
+                               qWarning() << "Not enough parts in reply. fmask";
                                continue;
                        }
                        fileFlagData.insert(FileFlags(flag), parts[partNo]);
@@ -329,7 +338,7 @@ void FileReply::readReplyData(const QString &reply)
                {
                        if (partNo >= parts.size())
                        {
-                               qWarning() << "Not enough parts in reply.";
+                               qWarning() << "Not enough parts in reply. amask";
                                continue;
                        }
                        fileAnimeFlagData.insert(FileAnimeFlags(flag), parts[partNo]);