История изменений
Исправление 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;
}