From 78034bcd615e739ad51a1b4bc570b6f1927932fc Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 17 Jan 2024 18:05:48 +0300 Subject: json2file + file2json = helpers to load json from file and write it back --- protocols/JabberG/src/jabber_caps.cpp | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) (limited to 'protocols/JabberG/src') diff --git a/protocols/JabberG/src/jabber_caps.cpp b/protocols/JabberG/src/jabber_caps.cpp index 3f25928b12..7c665053b6 100644 --- a/protocols/JabberG/src/jabber_caps.cpp +++ b/protocols/JabberG/src/jabber_caps.cpp @@ -573,21 +573,8 @@ static const char *str2buf(const std::string &str) void CJabberClientCapsManager::Load() { - int fileId = _wopen(VARSW(L"%miranda_userdata%\\jabberCaps.json"), _O_BINARY | _O_RDONLY); - if (fileId == -1) - return; - - size_t dwFileLength = _filelength(fileId), dwReadLen; - ptrA szBuf((char *)mir_alloc(dwFileLength + 1)); - dwReadLen = _read(fileId, szBuf, (unsigned)dwFileLength); - _close(fileId); - if (dwFileLength != dwReadLen) - return; - - szBuf[dwFileLength] = 0; - - JSONNode root = JSONNode::parse(szBuf); - if (!root) + JSONNode root; + if (!file2json(VARSW(L"%miranda_userdata%\\jabberCaps.json"), root)) return; for (auto &node : root) { @@ -646,11 +633,5 @@ void CJabberClientCapsManager::Save() root << node; } - std::string szBody = root.write_formatted(); - - int fileId = _wopen(VARSW(L"%miranda_userdata%\\jabberCaps.json"), _O_CREAT | _O_TRUNC | _O_WRONLY, _S_IREAD | _S_IWRITE); - if (fileId != -1) { - _write(fileId, szBody.c_str(), (unsigned)szBody.length()); - _close(fileId); - } + json2file(root, VARSW(L"%miranda_userdata%\\jabberCaps.json")); } -- cgit v1.2.3