LINUX.ORG.RU

История изменений

Исправление invy, (текущая версия) :

Понятно, фтопку.

Первый же пример...

Я бы порекомендовал переписать эту функцию так:
static int rr_cmp(uchar *a,uchar *b)
{ 
  for (size_t i = 0; i < 7; ++i)
  { 
    if (a[i] != b[i])
      return a[i] - b[i];
  } 
  return a[7] - b[7];
}
Magic numbers во все поля, нет проверки выхода за пределы массива, если это C++, то какие к черту uchar*, вместо vector<uchar>...

Тебя ничему история с strcpy, strcmp и прочими не научила (типичная причина stack-overflow)?

Исходная версия invy, :

Понятно, фтопку.

Первый же пример...

Я бы порекомендовал переписать эту функцию так:
static int rr_cmp(uchar *a,uchar *b)
{ 
  for (size_t i = 0; i < 7; ++i)
  { 
    if (a[i] != b[i])
      return a[i] - b[i];
  } 
  return a[7] - b[7];
}
Magic numbers во все поля, нет проверки выхода за пределы массива, если это C++, то какие к черту uchar*, вместо vector<uchar>...