LINUX.ORG.RU

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

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

Ну ладно, тогда переделаю и немного улучшу, что бы более наглядно показать разницу, вот твой подход как я понял:

const struct ns_some_struct_gnome_style *x = ns_get_err(A);

{
  int c;
  ns_get_level(A, &c);
  if (x == NULL && c == 10) 
    return 0;
}

const struct ns_some_struct_gnome_style *y = ns_get_err(B);

{
  int c;
  ns_get_level(B, &c);
  if (y == NULL && c == 15) 
    return 0;
}
А это мой «плохой подход» где переиспользуются переменные и все такое:
ns_get_level(A, &c);
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

ns_get_level(B, &c);
if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;

Исправление MOPKOBKA, :

Ну ладно, тогда переделаю и немного улучшу, что бы более наглядно показать разницу, вот твой подход как я понял:

const struct ns_some_struct_gnome_style *x = ns_get_err(A);

{
  int c;
  ns_get_level(A, &c);
  if (x == NULL && c == 10) 
    return 0;
}

const struct ns_some_struct_gnome_style *y = ns_get_err(B);

{
  int c;
  ns_get_level(B, &c);
  if (y == NULL && c == 15) 
    return 0;
}
А это мой:
ns_get_level(A, &c);
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

ns_get_level(B, &c);
if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;

Исправление MOPKOBKA, :

const struct ns_some_struct_gnome_style *x = ns_get_err(A);

{
  int c;
  ns_get_level(A, &c);
  if (x == NULL && c == 10) 
    return 0;
}

const struct ns_some_struct_gnome_style *y = ns_get_err(B);

{
  int c;
  ns_get_level(B, &c);
  if (y == NULL && c == 15) 
    return 0;
}
ns_get_level(A, &c);
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

ns_get_level(B, &c);
if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;

Исправление MOPKOBKA, :

const struct ns_some_struct_gnome_style *x = ns_get_err(A);
{
  int c;
  ns_get_level(A, &c);
  if (x == NULL && c == 10) 
    return 0;
}

const struct ns_some_struct_gnome_style *y = ns_get_err(B);
{
  int c;
  ns_get_level(B, &c);
  if (y == NULL && c == 15) 
    return 0;
}
ns_get_level(A, &c);
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

ns_get_level(B, &c);
if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;

Исправление MOPKOBKA, :

const struct ns_some_struct_gnome_style *x = ns_get_err(A);
{
  int c;
  ns_get_level(&c);
  if (x == NULL && c == 10) 
    return 0;
}

const struct ns_some_struct_gnome_style *y = ns_get_err(B);
{
  int c;
  ns_get_level(&c);
  if (y == NULL && c == 15) 
    return 0;
}
ns_get_level(&c);
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

ns_get_level(&c);
if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;

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

const struct ns_some_struct_gnome_style *x = ns_get_err(A);
if (x == NULL && c == 10) 
  return 0;

const struct ns_some_struct_gnome_style *y = ns_get_err(B);
if (y == NULL && c == 15) 
  return 0;
if ((x = ns_get_err(A)) == NULL && c == 10) 
  return 0;

if ((y = ns_get_err(B)) == NULL && c == 15) 
  return 0;