bool Exword::DeleteFile(wxString filename, unsigned long flags) { int rsp; if (!IsConnected()) return false; if (m_mode == TEXT && flags & 0x2) rsp = exword_remove_file(m_device, (char*)wxConvLocal.cWX2MB(filename).data(), 1); else rsp = exword_remove_file(m_device, (char*)wxConvLocal.cWX2MB(filename).data(), 0); return (rsp == EXWORD_SUCCESS); }
bool Exword::RemoveDictionary(RemoteDictionary *dict) { bool success = false; exword_cryptkey_t ck; int rsp; if (!IsConnected()) return success; if (dict->Exists()) { memset(&ck, 0, sizeof(exword_cryptkey_t)); memcpy(ck.blk1, key1, 2); memcpy(ck.blk1 + 10, key1 + 10, 2); memcpy(ck.blk2, key1 + 2, 8); memcpy(ck.blk2 + 8, key1 + 12, 4); exword_setpath(m_device, (uint8_t*)GetStoragePath().utf8_str().data(), 0); rsp = exword_unlock(m_device); rsp |= exword_cname(m_device, (char*)dict->GetName().mb_str(wxCSConv(wxT("SJIS"))).data(), (char*)dict->GetId().utf8_str().data()); rsp |= exword_cryptkey(m_device, &ck); if (rsp == EXWORD_SUCCESS) rsp |= exword_remove_file(m_device, (char*)dict->GetId().utf8_str().data(), 0); rsp |= exword_lock(m_device); success = (rsp == EXWORD_SUCCESS); } return success; }
int delete_file(exword_t *d, char *filename) { int rsp; if (filename == NULL) return 0x40; rsp = exword_remove_file(d, basename(filename)); fail: return rsp; }