const char *name = log->getName();
const char *number = log->getNumber();
- if (name == nullptr) {
- name = number;
- number = _("IDS_LOGS_SBODY_UNSAVED_M_STATUS");
- } else if (strcmp(name, number) == 0){
+ if (!name) {
+ if (number) {
+ name = number;
+ number = _("IDS_LOGS_SBODY_UNSAVED_M_STATUS");
+ } else {
+ name = _("IDS_LOGS_MBODY_UNKNOWN");
+ number = _("IDS_LOGS_SBODY_NO_NUMBER_ABB");
+ }
+ } else if (Utils::safeCmp(name, number)){
number = _("IDS_LOGS_SBODY_SAVED_M_STATUS");
}
if (strcmp(part, PART_LOG_NAME) == 0) {
- return strdup(name);
+ return Utils::safeDup(name);
} else if (strcmp(part, PART_LOG_NUMBER) == 0) {
- return strdup(number);
+ return Utils::safeDup(number);
} else if (strcmp(part, PART_LOG_COUNT) == 0) {
if (m_Group->getLogList().size() == 1) {
return nullptr;
#include "Logs/Model/LogProvider.h"
#include "Common/Database/RecordIterator.h"
#include "Common/Database/RecordUtils.h"
-#include "Utils/Logger.h"
#include "Utils/Callback.h"
#include "Utils/Range.h"
+#include "Utils/String.h"
#include <algorithm>
return (type == prevLog.getType()
&& type != CONTACTS_PLOG_TYPE_VOICE_INCOMING_UNSEEN
&& type != CONTACTS_PLOG_TYPE_VOICE_INCOMING_SEEN
- && strcmp(log.getNumber(), prevLog.getNumber()) == 0
+ && Utils::safeCmp(log.getNumber(), prevLog.getNumber())
&& compareDate(log.getTime(), prevLog.getTime()));
}