diff options
author | George Hazan <george.hazan@gmail.com> | 2012-11-30 19:15:42 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-11-30 19:15:42 +0000 |
commit | 2021d20d84bb791d7a29faf80a6dbda3a40192d9 (patch) | |
tree | 3cccc6dbb9a40e89801a525d80ac9aceb7fa80ce | |
parent | 19642942fd8e581f1de04961a85af87b98b9d9c7 (diff) |
adaptaition for new hashes.txt format
git-svn-id: http://svn.miranda-ng.org/main/trunk@2569 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r-- | plugins/PluginUpdater/src/Scanner.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/plugins/PluginUpdater/src/Scanner.cpp b/plugins/PluginUpdater/src/Scanner.cpp index 9a704f49e4..07394110d0 100644 --- a/plugins/PluginUpdater/src/Scanner.cpp +++ b/plugins/PluginUpdater/src/Scanner.cpp @@ -35,9 +35,10 @@ static bool Exists(LPCTSTR strName) struct ServListEntry
{
- ServListEntry(const char* _name, const char* _hash) :
+ ServListEntry(const char* _name, const char* _hash, DWORD _crc) :
m_name( mir_a2t(_name)),
- m_bNeedFree(true)
+ m_bNeedFree(true),
+ m_crc(_crc)
{
strncpy(m_szHash, _hash, sizeof(m_szHash));
}
@@ -57,6 +58,7 @@ struct ServListEntry TCHAR *m_name;
char m_szHash[32+1];
bool m_bNeedFree;
+ DWORD m_crc;
};
static int CompareHashes(const ServListEntry *p1, const ServListEntry *p2)
@@ -272,7 +274,16 @@ static void CheckUpdates(void *) continue;
_strlwr(p);
- hashes.insert(new ServListEntry(str, p));
+
+ DWORD dwCrc32;
+ char *p1 = strchr(p, ' ');
+ if (p1 == NULL)
+ dwCrc32 = 0;
+ else {
+ *p1++ = 0;
+ sscanf(p1, "%08x", &dwCrc32);
+ }
+ hashes.insert(new ServListEntry(str, p, dwCrc32));
}
fclose(fp);
DeleteFile(tszTmpIni);
|