From 74f96681ceca04d64a98526a2e91ef0493ee76b1 Mon Sep 17 00:00:00 2001 From: Xuan Bai Date: Wed, 18 Aug 2004 17:04:26 -0500 Subject: [svn-r9111] Purpose: Update. Description: Make some minor change so that h5jam.c is compatible with Windows. Solution: 1. unistd.h is not available in windows system. Add a macro for this header file as: #ifdef H5_HAVE_UNISTD_H #include #endif 2. Change open, read, write, lseek functions to HDopen, HDread, HDwrite, and HDlseek, as these HD functions are more comtatible with Windows system. 3. add #include H5private.h 4. remove #include Platforms tested: Windows 2000 Windows XP eirene (Note: I talked with Bob and Kent about these changes before check-in) Misc. update: --- tools/h5jam/getub.c | 11 +++++++---- tools/h5jam/h5unjam.c | 21 ++++++++++++--------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/tools/h5jam/getub.c b/tools/h5jam/getub.c index e2aec5c..58e9fe8 100644 --- a/tools/h5jam/getub.c +++ b/tools/h5jam/getub.c @@ -13,10 +13,13 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include -#include #include + +#ifdef H5_HAVE_UNISTD_H #include +#endif +#include "H5private.h" #include "h5tools_utils.h" void parse_command_line (int argc, const char *argv[]); @@ -134,7 +137,7 @@ main (int argc, const char *argv[]) exit (EXIT_FAILURE); } - fd = open (filename, O_RDONLY); + fd = HDopen (filename, O_RDONLY, 0); if (fd < 0) { error_msg (progname, "can't open file %s\n", filename); @@ -148,7 +151,7 @@ main (int argc, const char *argv[]) exit (EXIT_FAILURE); } - res = read (fd, buf, (unsigned)size); + res = HDread (fd, buf, (unsigned)size); if (res < size) { @@ -158,7 +161,7 @@ main (int argc, const char *argv[]) exit (EXIT_FAILURE); } - write (1, buf, (unsigned)size); + HDwrite (1, buf, (unsigned)size); if (buf) free (buf); diff --git a/tools/h5jam/h5unjam.c b/tools/h5jam/h5unjam.c index daa7c05..0bebda7 100644 --- a/tools/h5jam/h5unjam.c +++ b/tools/h5jam/h5unjam.c @@ -13,13 +13,16 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include -#include #include #include #include + +#ifdef H5_HAVE_UNISTD_H #include +#endif #include "hdf5.h" +#include "H5private.h" #include "h5tools_utils.h" #define TRUE 1 @@ -221,7 +224,7 @@ main(int argc, const char *argv[]) fsize = sbuf.st_size; - ifid = open(input_file,O_RDONLY); + ifid = HDopen(input_file,O_RDONLY,0); if (ifid < 0) { error_msg(progname, "unable to open input HDF5 file \"%s\"\n", input_file); @@ -237,7 +240,7 @@ main(int argc, const char *argv[]) /* write to sdtout */ ufid = dup(1); } else { - ufid = open(ub_file,O_WRONLY|O_CREAT|O_TRUNC, 0644 ); + ufid = HDopen(ub_file,O_WRONLY|O_CREAT|O_TRUNC, 0644 ); if (ufid < 0) { error_msg(progname, "unable to open user block file for output\"%s\"\n", ub_file); @@ -246,7 +249,7 @@ main(int argc, const char *argv[]) } if (output_file == NULL) { - h5fid = open(input_file,O_WRONLY); + h5fid = HDopen(input_file,O_WRONLY, 0); if (h5fid < 0) { error_msg(progname, "unable to open output HDF5 file \"%s\"\n", input_file); @@ -302,14 +305,14 @@ copy_to_file( int infid, int ofid, ssize_t where, ssize_t how_much ) { to = 0; while( how_much > 0) { - lseek(infid,from,SEEK_SET); + HDlseek(infid,from,SEEK_SET); if (how_much > 512) { - nchars = read(infid,buf,(unsigned)512); + nchars = HDread(infid,buf,(unsigned)512); } else { - nchars = read(infid,buf,(unsigned)how_much); + nchars = HDread(infid,buf,(unsigned)how_much); } - lseek(ofid,to,SEEK_SET); - write(ofid,buf,(unsigned)nchars); + HDlseek(ofid,to,SEEK_SET); + HDwrite(ofid,buf,(unsigned)nchars); how_much -= nchars; from += nchars; to += nchars; -- cgit v0.12