id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
1009,"[TRIVIAL] Lift osync_assert() parameter ""validation"" by osync_return_if_fail()/osync_return_val_if_fail() from public Interfaces",dgollub,bricks,"To provide an error/debug tolerant API we need to replace osync_assert() protection from all public interfaces.

This only affects the osync_assert() which check the parameter list at the functions head. Since building with NDEBUG would not do any protection and would cause a segfault right a way.

Instead replace osync_assert() with:
 * osync_return_val_if_fail(condition, retvalue) - to return also an value
 * osync_return_if_fail(condition) - to just return

Depending of the functions return type osync_return_val_if_fail() or osync_return_if_fail() is used. osync_return_if_fail() is only used for functions with return type ''void''.

For now please skip plublic interfaces which have an ''OSyncError **'' in their parameter list. This needs to be handled differently. Instead of osync_return_*if_fail() a proper error needs to be returned in individual cases.

Example porting is changeset r4932
",task,new,normal,OpenSync 0.40,OpenSync: Application API,0.38,trivial,,,
