From 618e7e7fbb5d7112ba38eb680d4b2a5b5c15adc1 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Mon, 19 Jan 2004 15:59:44 -0500 Subject: [svn-r8082] Purpose: Bug fix Description: Tweak address comparison of external file list's heap address a bit to pacify Windows. Platforms tested: FreeBSD 4.9 (sleipnir) Asking Pedro to test on Windows Too minor to require h5committest --- src/H5D.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/H5D.c b/src/H5D.c index 34c9642..812979c 100644 --- a/src/H5D.c +++ b/src/H5D.c @@ -642,8 +642,12 @@ H5D_crt_ext_file_list_cmp(const void *value1, const void *value2, size_t size) assert(size==sizeof(H5O_efl_t)); /* Check the heap address of external file lists */ - if((cmp_value=H5F_addr_cmp(efl1->heap_addr,efl2->heap_addr))!=0) - HGOTO_DONE(cmp_value); + if(H5F_addr_defined(efl1->heap_addr) || H5F_addr_defined(efl2->heap_addr)) { + if(!H5F_addr_defined(efl1->heap_addr) && H5F_addr_defined(efl2->heap_addr)) HGOTO_DONE(-1); + if(H5F_addr_defined(efl1->heap_addr) && !H5F_addr_defined(efl2->heap_addr)) HGOTO_DONE(1); + if((cmp_value=H5F_addr_cmp(efl1->heap_addr,efl2->heap_addr))!=0) + HGOTO_DONE(cmp_value); + } /* end if */ /* Check the number of allocated efl entries */ if(efl1->nalloc < efl2->nalloc) HGOTO_DONE(-1); -- cgit v0.12