From a2db22ab74d0b4c552e9efe25209ca68ac42ce5d Mon Sep 17 00:00:00 2001 From: Robb Matzke Date: Mon, 18 Jan 1999 12:54:16 -0500 Subject: [svn-r1023] Changes since 19990105 ---------------------- ./INSTALL ./doc/html/Compression.html ./doc/html/Filters.html Disassociated GNU from zlib. Did not change the introduction which incorrectly states that compression in hdf5 is available only if GNU gzip is available (should read zlib). Changed a typo in INSTALL to match what is documented in various other places: that zlib 1.1.2 (not 1.0.2) or better is required for compression. Added a reference to the main zlib web page in various places. ./src/H5Fistore.c Fixed a typo in a comment. ./src/H5Flow.c Removed carriage returns from the end of lines. ./test/dsets.c The deflate compression tests are still run but `-SKIP-' is printed instead of `PASSED' if the zlib library was not detected at configuration time. The tests check that the compression layer (H5Z) is correctly bypassed. --- INSTALL | 5 +++-- README | 2 +- doc/html/Filters.html | 8 +++----- src/.distdep | 46 +++++++++++++++++++++--------------------- src/H5Distore.c | 2 +- src/H5Fistore.c | 2 +- src/H5Flow.c | 24 +++++++++++----------- test/.distdep | 56 +++++++++++++++++++++++++++++---------------------- test/dsets.c | 47 ++++++++++++++++++++++++++++++++++++++++-- 9 files changed, 121 insertions(+), 71 deletions(-) diff --git a/INSTALL b/INSTALL index 8c07f6f..4005e20 100644 --- a/INSTALL +++ b/INSTALL @@ -25,9 +25,10 @@ for the install may be found in the file: INSTALL.ascired. ======= Step 0: Install optional third-party packages. - * GNU zlib compression library, version 1.0.2 or later is used for + * Zlib compression library, version 1.1.2 or later is used for the `deflate' compression method if available; otherwise no - compression filters will be predefined. + compression filters will be predefined. The source code can be + found at http://www.cdrom.com/pub/infozip/zlib Step 1. Unpack the source tree. diff --git a/README b/README index ed69a1d..7c5f010 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is hdf5-1.1.39 released on Thu Jan 7 07:28:42 EST 1999 +This is hdf5-1.1.39 released on Thu Jan 7 07:46:19 EST 1999 Please refer to the INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/doc/html/Filters.html b/doc/html/Filters.html index 9d1553f..c2a1961 100644 --- a/doc/html/Filters.html +++ b/doc/html/Filters.html @@ -285,7 +285,7 @@ And in this document, the

4. Predefined Filters

-

If GNU zlib version 1.1.2 or later was found +

If zlib version 1.1.2 or later was found during configuration then the library will define a filter whose H5Z_filter_t number is H5Z_FILTER_DEFLATE. Since this compression method @@ -313,7 +313,7 @@ And in this document, the ratio). -

Even if the GNU zlib isn't detected during +

Even if the zlib isn't detected during configuration the application can define H5Z_FILTER_DEFLATE as a permanent filter. If the filter is marked as optional (as with @@ -587,9 +587,7 @@ And in this document, the --> - +Last modified: Mon Jan 18 13:32:14 EST 1999


diff --git a/src/.distdep b/src/.distdep index a039d32..4dfd2fb 100644 --- a/src/.distdep +++ b/src/.distdep @@ -1149,6 +1149,29 @@ H5Tbit.o: \ H5Tpublic.h \ H5Gprivate.h \ H5Gpublic.h +H5Tconv.o: \ + H5Tconv.c \ + H5Iprivate.h \ + H5Ipublic.h \ + H5public.h \ + H5config.h \ + H5private.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Tpkg.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Rprivate.h \ + H5Rpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Gprivate.h \ + H5Gpublic.h H5Tinit.o: \ H5Tinit.c \ H5private.h \ @@ -1228,26 +1251,3 @@ H5Z.o: \ H5Sprivate.h \ H5Spublic.h \ H5Zprivate.h -H5Tconv.o: \ - H5Tconv.c \ - H5Iprivate.h \ - H5Ipublic.h \ - H5public.h \ - H5config.h \ - H5private.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Tpkg.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Rprivate.h \ - H5Rpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Gprivate.h \ - H5Gpublic.h diff --git a/src/H5Distore.c b/src/H5Distore.c index 4a6f7e5..bf75f17 100644 --- a/src/H5Distore.c +++ b/src/H5Distore.c @@ -1144,7 +1144,7 @@ H5F_istore_prune (H5F_t *f, size_t size) * * If RELAX is non-zero and the chunk isn't in the cache then * don't try to read it from the file, but just allocate an - * uninitialized buffer to hold the result. This is indented + * uninitialized buffer to hold the result. This is intended * for output functions that are about to overwrite the entire * chunk. * diff --git a/src/H5Fistore.c b/src/H5Fistore.c index 4a6f7e5..bf75f17 100644 --- a/src/H5Fistore.c +++ b/src/H5Fistore.c @@ -1144,7 +1144,7 @@ H5F_istore_prune (H5F_t *f, size_t size) * * If RELAX is non-zero and the chunk isn't in the cache then * don't try to read it from the file, but just allocate an - * uninitialized buffer to hold the result. This is indented + * uninitialized buffer to hold the result. This is intended * for output functions that are about to overwrite the entire * chunk. * diff --git a/src/H5Flow.c b/src/H5Flow.c index 274d77c..68492de 100644 --- a/src/H5Flow.c +++ b/src/H5Flow.c @@ -479,9 +479,9 @@ H5F_low_access(const H5F_low_class_t *type, const char *name, const H5F_access_t *access_parms, int mode, H5F_search_t *key/*out*/) { - htri_t ret_value; - struct stat sb; - int fid; + htri_t ret_value; + struct stat sb; + int fid; FUNC_ENTER(H5F_low_size, FAIL); assert(type); @@ -492,17 +492,17 @@ H5F_low_access(const H5F_low_class_t *type, const char *name, ret_value = (0 == HDaccess(name, mode) ? TRUE : FALSE); if (key) { #ifdef WIN32 - /* - this extra block is needed because windows sets the st_dev member of sb - to be 0 if it is a file which makes the comparison below wrong - */ - - fid=open(name,mode|_O_BINARY); - HDfstat(fid,&sb); - close(fid); + /* + * This extra block is needed because windows sets the st_dev + * member of sb to be 0 if it is a file which makes the comparison + * below wrong + */ + fid=open(name,mode|_O_BINARY); + HDfstat(fid,&sb); + close(fid); #else HDstat(name, &sb); -#endif +#endif key->dev = sb.st_dev; key->ino = sb.st_ino; } diff --git a/test/.distdep b/test/.distdep index a054a1a..6645e72 100644 --- a/test/.distdep +++ b/test/.distdep @@ -172,6 +172,36 @@ dsets.o: \ ../src/H5HGprivate.h \ ../src/H5Fprivate.h \ ../src/H5Rprivate.h +dtypes.o: \ + dtypes.c \ + h5test.h \ + ../src/hdf5.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Ipublic.h \ + ../src/H5Apublic.h \ + ../src/H5ACpublic.h \ + ../src/H5Bpublic.h \ + ../src/H5Dpublic.h \ + ../src/H5Epublic.h \ + ../src/H5Fpublic.h \ + ../src/H5Gpublic.h \ + ../src/H5HGpublic.h \ + ../src/H5HLpublic.h \ + ../src/H5MFpublic.h \ + ../src/H5MMpublic.h \ + ../src/H5Opublic.h \ + ../src/H5Ppublic.h \ + ../src/H5Zpublic.h \ + ../src/H5Rpublic.h \ + ../src/H5RApublic.h \ + ../src/H5Spublic.h \ + ../src/H5Tpublic.h \ + ../src/H5private.h \ + ../src/H5Tpkg.h \ + ../src/H5HGprivate.h \ + ../src/H5Fprivate.h \ + ../src/H5Rprivate.h extend.o: \ extend.c \ h5test.h \ @@ -631,28 +661,6 @@ ragged.o: \ ../src/H5Spublic.h \ ../src/H5Tpublic.h \ ../src/H5private.h -space_overflow.o: \ - space_overflow.c \ - ../src/hdf5.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Ipublic.h \ - ../src/H5Apublic.h \ - ../src/H5ACpublic.h \ - ../src/H5Bpublic.h \ - ../src/H5Dpublic.h \ - ../src/H5Epublic.h \ - ../src/H5Fpublic.h \ - ../src/H5Gpublic.h \ - ../src/H5HGpublic.h \ - ../src/H5HLpublic.h \ - ../src/H5MFpublic.h \ - ../src/H5MMpublic.h \ - ../src/H5Opublic.h \ - ../src/H5Ppublic.h \ - ../src/H5Zpublic.h \ - ../src/H5Rpublic.h \ - ../src/H5RApublic.h stab.o: \ stab.c \ h5test.h \ @@ -845,8 +853,8 @@ unlink.o: \ ../src/H5HGprivate.h \ ../src/H5Fprivate.h \ ../src/H5Rprivate.h -dtypes.o: \ - dtypes.c \ +enum.o: \ + enum.c \ h5test.h \ ../src/hdf5.h \ ../src/H5public.h \ diff --git a/test/dsets.c b/test/dsets.c index be2b911..49b5f50 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -325,7 +325,10 @@ bogus(unsigned int __unused__ flags, size_t __unused__ cd_nelmts, /*------------------------------------------------------------------------- * Function: test_compression * - * Purpose: Tests dataset compression. + * Purpose: Tests dataset compression. If compression is requested when + * it hasn't been compiled into the library (such as when + * updating an existing compressed dataset) then data is sent to + * the file uncompressed but no errors are returned. * * Return: Success: 0 * @@ -347,10 +350,14 @@ test_compression(hid_t file) const hsize_t chunk_size[2] = {2, 25}; const hssize_t hs_offset[2] = {7, 30}; const hsize_t hs_size[2] = {4, 50}; + const char *not_supported; hsize_t i, j, n; void *tconv_buf = NULL; + not_supported = " Deflate compression is not supported.\n" + " The zlib was not found when hdf5 was configured."; + TESTING("compression (setup)"); /* Create the data space */ @@ -372,7 +379,12 @@ test_compression(hid_t file) /* Create the dataset */ if ((dataset = H5Dcreate(file, DSET_COMPRESS_NAME, H5T_NATIVE_INT, space, dc))<0) goto error; +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 1: Read uninitialized data. It should be zero. @@ -394,7 +406,12 @@ test_compression(hid_t file) } } } +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 2: Test compression by setting up a chunked dataset and writing @@ -411,7 +428,12 @@ test_compression(hid_t file) if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, xfer, points)<0) goto error; +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 3: Try to read the data we just wrote. @@ -435,7 +457,12 @@ test_compression(hid_t file) } } } +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 4: Write new data over the top of the old data. The new data is @@ -470,7 +497,12 @@ test_compression(hid_t file) } } } +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 5: Close the dataset and then open it and read it again. This @@ -497,7 +529,13 @@ test_compression(hid_t file) } } } +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif + /*---------------------------------------------------------------------- * STEP 6: Test partial I/O by writing to and then reading from a @@ -537,7 +575,12 @@ test_compression(hid_t file) } } } +#ifdef HAVE_COMPRESS2 PASSED(); +#else + SKIPPED(); + puts(not_supported); +#endif /*---------------------------------------------------------------------- * STEP 7: Register an application-defined compression method and use it @@ -685,7 +728,7 @@ main(void) h5_reset(); fapl = h5_fileaccess(); -#if 1 +#if 0 /* Turn off raw data cache */ if (H5Pget_cache(fapl, &mdc_nelmts, NULL, NULL, NULL)<0) goto error; if (H5Pset_cache(fapl, mdc_nelmts, 0, 0, 0.0)<0) goto error; -- cgit v0.12