История изменений
Исправление firkax, (текущая версия) :
У меня другие вопросы:
1) какого типа FmSymbol.value_size ?
2) есть ли надёжных ограничитель диапазона его значений? if() с ранним выходом по ошибке или ассерт если оно не предполагается вообще
int fm_symbol_compare_fast(FmSymbol *s1, FmSymbol *s2) {
if(s1==s2) return 0;
if(!s1) return -1;
if(!s2) return 1;
if(s1->value_size<s2->value_size) return -1;
if(s1->value_size>s2->value_size) return 1;
return memcmp(s1->value, s2->value, s1->value_size);
}
Исходная версия firkax, :
У меня другие вопросы: 1) какого типа FmSymbol.value_size ? 2) есть ли надёжных ограничитель диапазона его значений? if() с ранним выходом по ошибке или ассерт если оно не предполагается вообще
int fm_symbol_compare_fast(FmSymbol *s1, FmSymbol *s2) {
if(s1==s2) return 0;
if(!s1) return -1;
if(!s2) return 1;
if(s1->value_size<s2->value_size) return -1;
if(s1->value_size>s2->value_size) return 1;
return memcmp(s1->value, s2->value, s1->value_size);
}