История изменений
Исправление thunar, (текущая версия) :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != nullptr) << 2;typedef struct {
char is_index : 1;
char is_telNo : 1;
char is_name : 1;
} flags_t;
flags_t check_entry (phonebookEntry_t *entry) {
flags_t flags;
flags.is_index = entry->index >= 0;
flags.is_telNo = entry->telNo != 0;
flags.is_name = entry->name != nullptr;
return flags;
}Исправление thunar, :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != nullptr) << 2;typedef struct {
char is_index : 1;
char is_telNo : 1;
char is_name : 1;
} flags_t;
flags_t check_flags (phonebookEntry_t *entry) {
flags_t flags;
flags.is_index = phonebookEntry->index >= 0;
flags.is_telNo = phonebookEntry->telNo != 0;
flags.is_name = phonebookEntry->name != nullptr;
return flags;
}Исправление thunar, :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != nullptr) << 2;typedef struct {
char is_index : 1;
char is_telNo : 1;
char is_name : 1;
} flags_t;
flags_t check_flags (phonebookEntry_t *entry) {
flags_t flags;
flags.is_index = phonebookEntry->index >= 0;
flags.is_telNo = phonebookEntry->telNo != 0;
flags.is_name = phonebookEntry->name != nullptr;
return flags;
}Исправление thunar, :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != nullptr) << 2;Исправление thunar, :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != '\0') << 2;Исходная версия thunar, :
Да вполне себе. Тут по-моему вообще вместо излишних if просто бы сразу класть результат вычисления в нужный бит.
condition |= (phonebookEntry->index >= 0) << 0;
condition |= (phonebookEntry->telNo != 0) << 1;
condition |= (phonebookEntry->name != '\0') << 2;
А ещё лучше этот кондишон в структуру с именованными битовыми полями.