summaryrefslogtreecommitdiffstats
path: root/src/H5T.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-11-27 17:54:04 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-11-27 17:54:04 (GMT)
commit1729192d9e6172c419814084ae2c65194e293735 (patch)
treeb85d98e0fbf87838b291cbd248624e46543535d9 /src/H5T.c
parentb52107a42a19c26894d18f88cab801749c32c34f (diff)
downloadhdf5-1729192d9e6172c419814084ae2c65194e293735.zip
hdf5-1729192d9e6172c419814084ae2c65194e293735.tar.gz
hdf5-1729192d9e6172c419814084ae2c65194e293735.tar.bz2
[svn-r9584] Purpose:
Code optimization Description: Revise mechanism for calling H5open/H5check to better avoid calling them from internal libray code. Only copy a datatype's group entry information if it has some. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
Diffstat (limited to 'src/H5T.c')
-rw-r--r--src/H5T.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/H5T.c b/src/H5T.c
index f0adf12..aac188f 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -3256,9 +3256,10 @@ H5T_copy(const H5T_t *old_dt, H5T_copy_t method)
break;
} /* end switch */
- /* Deep copy of the symbol table entry */
- if (H5G_ent_copy(&(new_dt->ent), &(old_dt->ent),H5G_COPY_DEEP)<0)
- HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to copy entry");
+ /* Deep copy of the symbol table entry, if there was one */
+ if (H5F_addr_defined(old_dt->ent.header))
+ if (H5G_ent_copy(&(new_dt->ent), &(old_dt->ent),H5G_COPY_DEEP)<0)
+ HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to copy entry");
/* Set return value */
ret_value=new_dt;