The SEDRIS Data Representation Model
APPENDIX D - Functions
SE CloneURN
extern SE_DRM_Status_Code
SE_CloneURN
(
constSE_URN *src_ptr,1
SE_URN *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_URN structure. In order to reliably duplicate this data, developers should use the SE_CloneURN() function.
  2. The caller is responsible for calling SE_FreeURN() 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, and it is populated with data copied from *src_ptr, if valid parameters were passed in.
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 string that is to be duplicated

2 a pointer to an SE_URN 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_CloneURL. Next: SE_CompareCharacters. Up:Index.

Last updated: July 26, 2006 Copyright © 2006 SEDRIS