LINUX.ORG.RU

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

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

vs

int inner(const char * param, char ** pvar1)
{
    *pvar1 = fcn_that_returns_dynamically_allocated_string(param);
    char * var1 = *pvar1;
    if(var1 == NULL)  return 0;
    if(isValid(var1)) return some_function(var1);
    if(isGood(var1))  return 0;
    return 1;
}

int function(const char * param)
{
    char * var1 = NULL;
    int retval = inner(param, &var1);
    free(var1); // NULL допустим
    return retval;
}

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

vs

int inner(const char * param, char ** pvar1)
{
    *pvar1 = fcn_that_returns_dynamically_allocated_string(param);
    char * var1 = *pvar1;
    if(var1 == NULL)  return 0;
    if(isValid(var1)) return some_function(var1);
    if(isGood(var1))  return 0;
    return 1;
}

int function(const char * param)
{
    int retval = 1;
    char * var1 = NULL;
    int retval = inner(param, &var1);
    free(var1); // NULL допустим
    return retval;
}