The SEDRIS Data Representation Model
APPENDIX D - Functions
SE CloneSingleValue
extern SE_DRM_Status_Code
SE_CloneSingleValue
(
constSE_Single_Value *src_ptr,1
SE_Single_Value *dest_ptr2
);

Definition

Clones the data from *src_ptr into *dest_ptr, by allocating memory for any necessary internal pointers within *dest_ptr, then populating *dest_ptr with data from *src_ptr.

IMPORTANT NOTES:

  1. Because some of the fields contained in the data structure are pointers to dynamically allocated memory, it is HIGHLY INADVISABLE to use a member-wise structure copy in order to duplicate an SE_Single_Value structure. In order to reliably duplicate this data, developers should use the SE_CloneSingleValue() function.
  2. The caller is responsible for calling SE_FreeSingleValue() to free the internal pointers allocated within *dest_ptr.


Returns

SE_DRM_STAT_CODE_SUCCESS and memory is allocated for any dynamically allocated data within the structure, which is then populated with data copied from *src_ptr, if valid parameters were passed in and all operations succeeded.
SE_DRM_STAT_CODE_NULL_REQUIRED_PARAMETER and *dest_ptr is left unchanged, if dest_ptr or src_ptr was NULL.
SE_DRM_STAT_CODE_FAILURE and *dest_ptr is set to its (empty) default value, if the API could not allocate the memory for the dynamically allocated memory it should refer to.

Parameters Notes

1 the SE_Single_Value that is to be duplicated

2 a pointer to an SE_Single_Value structure within memory managed by the caller. Non-dynamically allocated fields in this structure will be directly populated with data from the input fields. Dynamically allocated data will be allocated by this function, then copied from the input structure.


Prev: SE_CloneFields. Next: SE_CloneString. Up:Index.

Last updated: July 26, 2006 Copyright © 2006 SEDRIS