FILE *bar::foo(char *path, error *err){ FILE *f; if(!make_abs_path(path)) return FS_INVALID_HANDLE; .... f = fopen(m_abs_path, m_mode); if(FS_OK(f)) *err = FS_NO_ERROR; else *err = FS_ERROR;}
Other options:
no subject
В этот раз 4 часа ушло на (упрощено, но не сильно)
FILE *bar::foo(char *path, error *err)
{
FILE *f;
if(!make_abs_path(path))
return FS_INVALID_HANDLE;
....
f = fopen(m_abs_path, m_mode);
if(FS_OK(f))
*err = FS_NO_ERROR;
else
*err = FS_ERROR;
}