diff options
author | Thomas White <taw@physics.org> | 2013-03-04 15:51:14 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2013-03-04 15:51:14 +0100 |
commit | 2a767bf372052f913ae872068d6b555d899953a3 (patch) | |
tree | a94ace91f7b2ace71b70a9f750a62f0a87184283 /libcrystfel/src/crystal.c | |
parent | 351616d140b1f6953a2e5ad8da0a29fe4e3cfdfa (diff) |
Add crystal_copy()
Diffstat (limited to 'libcrystfel/src/crystal.c')
-rw-r--r-- | libcrystfel/src/crystal.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libcrystfel/src/crystal.c b/libcrystfel/src/crystal.c index 664d933e..02255110 100644 --- a/libcrystfel/src/crystal.c +++ b/libcrystfel/src/crystal.c @@ -97,6 +97,30 @@ Crystal *crystal_new() /** + * crystal_copy: + * @cryst: A %Crystal to copy. + * + * Creates a new %Crystal which is a copy of @cryst. The copy is a "shallow + * copy", which means that copies are NOT made of the data structures which + * @cryst contains references to, for example its %RefList. + * + * Returns: a (shallow) copy of @cryst, or NULL on failure. + * + */ +Crystal *crystal_copy(Crystal *cryst) +{ + Crystal *c; + + c = crystal_new(); + if ( c == NULL ) return NULL; + + memcpy(c, cryst, sizeof(Crystal)); + + return c; +} + + +/** * crystal_free: * @cryst: A %Crystal to free. * |