summaryrefslogtreecommitdiff
path: root/protocols/Discord/src/avatars.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2017-02-03 21:45:05 +0300
committerGeorge Hazan <ghazan@miranda.im>2017-02-03 21:45:05 +0300
commit5cba53440b3b01f9844fb8a395ada6be40a54a7a (patch)
treef297cb284fcbaeb580353ddb6aeee45cafb40586 /protocols/Discord/src/avatars.cpp
parent8ae438778b5cf6d531294be52f92bf4ec3fb4808 (diff)
avatar code adapted for new core functions (mime types)
Diffstat (limited to 'protocols/Discord/src/avatars.cpp')
-rw-r--r--protocols/Discord/src/avatars.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/protocols/Discord/src/avatars.cpp b/protocols/Discord/src/avatars.cpp
index fff069b252..30ee008dc0 100644
--- a/protocols/Discord/src/avatars.cpp
+++ b/protocols/Discord/src/avatars.cpp
@@ -74,23 +74,14 @@ LBL_Error:
return;
}
- const char *pszMimeType = NULL;
for (int i = 0; i < reply->headersCount; i++)
if (!mir_strcmp(reply->headers[i].szName, "Content-Type")) {
- pszMimeType = reply->headers[i].szValue;
+ ai.format = ProtoGetAvatarFormatByMimeType(_A2T(reply->headers[i].szValue));
break;
}
- if (!mir_strcmp(pszMimeType, "image/jpeg"))
- ai.format = PA_FORMAT_JPEG;
- else if (!mir_strcmp(pszMimeType, "image/png"))
- ai.format = PA_FORMAT_PNG;
- else if (!mir_strcmp(pszMimeType, "image/gif"))
- ai.format = PA_FORMAT_GIF;
- else if (!mir_strcmp(pszMimeType, "image/bmp"))
- ai.format = PA_FORMAT_BMP;
- else {
- debugLogA("unknown avatar mime type: %s", pszMimeType);
+ if (ai.format == PA_FORMAT_UNKNOWN) {
+ debugLogA("unknown avatar mime type");
goto LBL_Error;
}
@@ -184,17 +175,12 @@ INT_PTR CDiscordProto::SetMyAvatar(WPARAM, LPARAM lParam)
CMStringA szPayload("data:");
- int iFormat = ProtoGetAvatarFileFormat(pwszFilename);
- switch (iFormat) {
- case PA_FORMAT_BMP: szPayload.Append("image/bmp"); break;
- case PA_FORMAT_GIF: szPayload.Append("image/gif"); break;
- case PA_FORMAT_PNG: szPayload.Append("image/png"); break;
- case PA_FORMAT_JPEG: szPayload.Append("image/jpeg"); break;
- default:
- debugLogA("invalid file format for avatar %S: %d", pwszFilename, iFormat);
+ const wchar_t *wszMimeType = ProtoGetAvatarMimeType(ProtoGetAvatarFileFormat(pwszFilename));
+ if (wszMimeType == NULL) {
+ debugLogA("invalid file format for avatar %S", pwszFilename);
return 1;
}
- szPayload.Append(";base64,");
+ szPayload.AppendFormat("%S;base64,", wszMimeType);
FILE *in = _wfopen(pwszFilename, L"rb");
if (in == NULL) {
debugLogA("cannot open avatar file %S for reading", pwszFilename);