Difference between revisions of "OpenDBX/API/odbx result free"

From Linuxnetworks
< OpenDBX‎ | API
Jump to: navigation, search
(header)
(rewrite)
Line 6: Line 6:
 
     odbx_result_t* '''result''' )
 
     odbx_result_t* '''result''' )
  
= Description: =
+
= Description =
  
Deletes all resources allocated by [[OpenDBX_result|odbx_result()]]. You must not free() "result" by yourself because this will create memory leaks and you have to call odbx_result_free() even if the statement returned now rows. This is indicated by a return value of "2" for not SELECT-like queries.
+
'''odbx_result_free()''' releases all resources allocated by [[OpenDBX_result|odbx_result()]] or by the native database library which are attached to '''result'''. It also frees the memory the first parameter is pointing to. Trying to free() '''result''' manually will create memory leaks because it contains more dynamically allocated structures and also the result set allocated by the native database library. '''odbx_result_free()''' must be called even if the statement was not a SELECT-like statement which returned now rows.
  
= Parameters: =
+
'''result''' must be a result set object created by [[OpenDBX_result|odbx_result()]] which is returned via its second parameter. After feeding it to '''odbx_result_free()''' it becomes invalid and must not be feed to it again. Otherwise a "double free" will occur and the application will be terminated.
  
* result: Object created by [[OpenDBX_result|odbx_result()]]
+
= Return values =
  
= Return values: =
+
This function doesn't return any values.
  
* None
+
= Errors =
  
= Errors: =
+
'''odbx_result_free()''' tries its best to cleanup the allocated structure and doesn't generate an error.
  
* None
+
= See also =
  
= See also: =
+
[[OpenDBX_result|odbx_result()]]
  
  
 
----
 
----
 
Back to [[OpenDBX API|Overview]]
 
Back to [[OpenDBX API|Overview]]

Revision as of 15:48, 10 March 2007


#include <odbx.h>

void odbx_result_free(
    odbx_result_t* result )

Description

odbx_result_free() releases all resources allocated by odbx_result() or by the native database library which are attached to result. It also frees the memory the first parameter is pointing to. Trying to free() result manually will create memory leaks because it contains more dynamically allocated structures and also the result set allocated by the native database library. odbx_result_free() must be called even if the statement was not a SELECT-like statement which returned now rows.

result must be a result set object created by odbx_result() which is returned via its second parameter. After feeding it to odbx_result_free() it becomes invalid and must not be feed to it again. Otherwise a "double free" will occur and the application will be terminated.

Return values

This function doesn't return any values.

Errors

odbx_result_free() tries its best to cleanup the allocated structure and doesn't generate an error.

See also

odbx_result()



Back to Overview