summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-02-14 16:31:11 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-02-14 16:31:11 (GMT)
commitf6a22fb0de3b415d3c7fe9ad2e3c1a72bd0334ab (patch)
tree23a2cf7c8b2af26745b0613b112e1e2ae401a2f9 /tools
parent8891e2433a9849571373a9512b6e292ba4cde54e (diff)
downloadhdf5-f6a22fb0de3b415d3c7fe9ad2e3c1a72bd0334ab.zip
hdf5-f6a22fb0de3b415d3c7fe9ad2e3c1a72bd0334ab.tar.gz
hdf5-f6a22fb0de3b415d3c7fe9ad2e3c1a72bd0334ab.tar.bz2
[svn-r13301] Description:
Add '-p' flag to h5copy tool, to create intermediate "parent" groups that don't exist in destination file yet. Add more tests to h5copy script. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'tools')
-rw-r--r--tools/h5copy/h5copy.c164
-rw-r--r--tools/h5copy/h5copygentest.c24
-rw-r--r--tools/h5copy/testh5copy.sh61
-rw-r--r--tools/testfiles/h5copytst.a.out.ls185
-rw-r--r--tools/testfiles/h5copytst.b.out.ls185
-rw-r--r--tools/testfiles/h5copytst.h5bin22072 -> 30448 bytes
-rw-r--r--tools/testfiles/h5copytst.out.ls484
7 files changed, 638 insertions, 465 deletions
diff --git a/tools/h5copy/h5copy.c b/tools/h5copy/h5copy.c
index cbbb738..cadb0d0 100644
--- a/tools/h5copy/h5copy.c
+++ b/tools/h5copy/h5copy.c
@@ -14,7 +14,6 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include "hdf5.h"
#include "h5tools.h"
#include "h5tools_utils.h"
#include <string.h>
@@ -23,23 +22,45 @@
const char *progname="h5copy";
int d_status;
-static void leave(int ret);
-
/* command-line options: short and long-named parameters */
-static const char *s_opts = "hvf:Vi:o:s:d:";
+static const char *s_opts = "d:f:hi:o:ps:vV";
static struct long_options l_opts[] = {
- { "help", no_arg, 'h' },
- { "verbose", no_arg, 'v' },
+ { "destination", require_arg, 'd' },
{ "flag", require_arg, 'f' },
- { "version", no_arg, 'V' },
+ { "help", no_arg, 'h' },
{ "input", require_arg, 'i' },
{ "output", require_arg, 'o' },
+ { "parents", no_arg, 'p' },
{ "source", require_arg, 's' },
- { "destination", require_arg, 'd' },
+ { "verbose", no_arg, 'v' },
+ { "version", no_arg, 'V' },
{ NULL, 0, '\0' }
};
/*-------------------------------------------------------------------------
+ * Function: leave
+ *
+ * Purpose: Shutdown MPI & HDF5 and call exit()
+ *
+ * Return: Does not return
+ *
+ * Programmer: Quincey Koziol
+ * Saturday, 31. January 2004
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+leave(int ret)
+{
+ h5tools_close();
+
+ exit(ret);
+}
+
+
+/*-------------------------------------------------------------------------
* Function: usage
*
* Purpose: Prints a usage message on stderr and then returns.
@@ -64,6 +85,7 @@ usage: h5copy [OPTIONS] [OBJECTS...]\n\
-d, --destination destination object name\n\
OPTIONS\n\
-h, --help Print a usage message and exit\n\
+ -p, --parents No error if existing, make parent groups as needed\n\
-v, --verbose Print information about OBJECTS and OPTIONS\n\
-V, --version Print version number and exit\n\
-f, --flag Flag type\n\n\
@@ -144,7 +166,7 @@ static int parse_flag(const char* str_flag, unsigned *flag)
}
else
{
- printf("Error in input flag\n");
+ error_msg(progname, "Error in input flag\n");
return -1;
}
@@ -175,8 +197,10 @@ main (int argc, const char *argv[])
char *oname_src=NULL;
char *oname_dst=NULL;
unsigned flag=0;
- int verbose=0;
- hid_t pid;
+ unsigned verbose=0;
+ unsigned parents=0;
+ hid_t ocpl_id; /* Object copy property list */
+ hid_t lcpl_id; /* Link creation property list */
char str_flag[20];
int opt;
@@ -194,20 +218,10 @@ main (int argc, const char *argv[])
{
switch ((char)opt)
{
- case 'h':
- usage();
- leave(EXIT_SUCCESS);
- break;
-
- case 'V':
- print_version(progname);
- leave(EXIT_SUCCESS);
- break;
-
- case 'v':
- verbose = 1;
+ case 'd':
+ oname_dst = strdup(opt_arg);
break;
-
+
case 'f':
/* validate flag */
if (parse_flag(opt_arg,&flag)<0)
@@ -218,6 +232,11 @@ main (int argc, const char *argv[])
strcpy(str_flag,opt_arg);
break;
+ case 'h':
+ usage();
+ leave(EXIT_SUCCESS);
+ break;
+
case 'i':
fname_src = strdup(opt_arg);
break;
@@ -226,15 +245,23 @@ main (int argc, const char *argv[])
fname_dst = strdup(opt_arg);
break;
+ case 'p':
+ parents = 1;
+ break;
+
case 's':
oname_src = strdup(opt_arg);
break;
- case 'd':
- oname_dst = strdup(opt_arg);
+ case 'V':
+ print_version(progname);
+ leave(EXIT_SUCCESS);
break;
-
- case '?':
+
+ case 'v':
+ verbose = 1;
+ break;
+
default:
usage();
leave(EXIT_FAILURE);
@@ -247,28 +274,28 @@ main (int argc, const char *argv[])
if (fname_src==NULL)
{
- printf("Input file name missing\n");
+ error_msg(progname, "Input file name missing\n");
usage();
leave(EXIT_FAILURE);
}
if (fname_dst==NULL)
{
- printf("Output file name missing\n");
+ error_msg(progname, "Output file name missing\n");
usage();
leave(EXIT_FAILURE);
}
if (oname_src==NULL)
{
- printf("Input object name missing\n");
+ error_msg(progname, "Source object name missing\n");
usage();
leave(EXIT_FAILURE);
}
if (oname_dst==NULL)
{
- printf("Destination object name missing\n");
+ error_msg(progname, "Destination object name missing\n");
usage();
leave(EXIT_FAILURE);
}
@@ -285,7 +312,7 @@ main (int argc, const char *argv[])
*-------------------------------------------------------------------------*/
if (fid_src==-1)
{
- printf("Could not open input file <%s>...Exiting\n",fname_src);
+ error_msg(progname, "Could not open input file <%s>...Exiting\n", fname_src);
if (fname_src)
free(fname_src);
leave(EXIT_FAILURE);
@@ -308,7 +335,7 @@ main (int argc, const char *argv[])
*-------------------------------------------------------------------------*/
if (fid_dst==-1)
{
- printf("Could not open output file <%s>...Exiting\n",fname_dst);
+ error_msg(progname, "Could not open output file <%s>...Exiting\n", fname_dst);
if (fname_src)
free(fname_src);
if (fname_dst)
@@ -333,34 +360,55 @@ main (int argc, const char *argv[])
/*-------------------------------------------------------------------------
- * create a property list for copy
+ * create property lists for copy
*-------------------------------------------------------------------------*/
/* create property to pass copy options */
- if ( (pid = H5Pcreate(H5P_OBJECT_COPY)) < 0)
+ if ( (ocpl_id = H5Pcreate(H5P_OBJECT_COPY)) < 0)
goto error;
/* set options for object copy */
if (flag)
{
- if ( H5Pset_copy_object(pid, flag) < 0)
+ if ( H5Pset_copy_object(ocpl_id, flag) < 0)
goto error;
}
+ /* Create link creation property list */
+ if((lcpl_id = H5Pcreate(H5P_LINK_CREATE)) < 0) {
+ error_msg(progname, "Could not create link creation property list\n");
+ goto error;
+ } /* end if */
+
+ /* Check for creating intermediate groups */
+ if(parents) {
+ /* Set the intermediate group creation property */
+ if(H5Pset_create_intermediate_group(lcpl_id, 1) < 0) {
+ error_msg(progname, "Could not set property for creating parent groups\n");
+ goto error;
+ } /* end if */
+
+ /* Display some output if requested */
+ if(verbose)
+ printf("%s: Creating parent groups\n", progname);
+ } /* end if */
+
/*-------------------------------------------------------------------------
* do the copy
*-------------------------------------------------------------------------*/
- if (H5Ocopy(fid_src, /* Source file or group identifier */
- oname_src, /* Name of the source object to be copied */
- fid_dst, /* Destination file or group identifier */
- oname_dst, /* Name of the destination object */
- pid, /* Properties which apply to the copy */
- H5P_DEFAULT)<0) /* Properties which apply to the new hard link */
+ if (H5Ocopy(fid_src, /* Source file or group identifier */
+ oname_src, /* Name of the source object to be copied */
+ fid_dst, /* Destination file or group identifier */
+ oname_dst, /* Name of the destination object */
+ ocpl_id, /* Object copy property list */
+ lcpl_id)<0) /* Link creation property list */
goto error;
- /* close property */
- if (H5Pclose(pid)<0)
+ /* close propertis */
+ if(H5Pclose(ocpl_id)<0)
+ goto error;
+ if(H5Pclose(lcpl_id)<0)
goto error;
/* close files */
@@ -385,7 +433,8 @@ main (int argc, const char *argv[])
error:
printf("Error in copy...Exiting\n");
H5E_BEGIN_TRY {
- H5Pclose(pid);
+ H5Pclose(ocpl_id);
+ H5Pclose(lcpl_id);
H5Fclose(fid_src);
H5Fclose(fid_dst);
} H5E_END_TRY;
@@ -403,26 +452,3 @@ error:
return 1;
}
-
-/*-------------------------------------------------------------------------
- * Function: leave
- *
- * Purpose: Shutdown MPI & HDF5 and call exit()
- *
- * Return: Does not return
- *
- * Programmer: Quincey Koziol
- * Saturday, 31. January 2004
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static void
-leave(int ret)
-{
- h5tools_close();
-
- exit(ret);
-}
-
diff --git a/tools/h5copy/h5copygentest.c b/tools/h5copy/h5copygentest.c
index c9dc01f..ee6862a 100644
--- a/tools/h5copy/h5copygentest.c
+++ b/tools/h5copy/h5copygentest.c
@@ -29,6 +29,7 @@
#define DATASET_NESTED_VL "nested_vl"
#define GROUP_EMPTY "grp_empty"
#define GROUP_DATASETS "grp_dsets"
+#define GROUP_NESTED "grp_nested"
/*-------------------------------------------------------------------------
@@ -364,6 +365,28 @@ static void gent_nested_datasets(hid_t loc_id)
}
/*-------------------------------------------------------------------------
+ * Function: gent_nested_group
+ *
+ * Purpose: Generate a group in a location and populate it with another group
+ * containing the "standard" datasets
+ *
+ *-------------------------------------------------------------------------
+ */
+static void gent_nested_group(hid_t loc_id)
+{
+ hid_t gid;
+
+ /* Create group in location */
+ gid = H5Gcreate(loc_id, GROUP_NESTED, (size_t)0);
+
+ /* Add datasets to group created */
+ gent_nested_datasets(gid);
+
+ /* Release resources */
+ H5Gclose(gid);
+}
+
+/*-------------------------------------------------------------------------
* Function: main
*
*-------------------------------------------------------------------------
@@ -378,6 +401,7 @@ int main(void)
gent_datasets(fid);
gent_empty_group(fid);
gent_nested_datasets(fid);
+ gent_nested_group(fid);
H5Fclose(fid);
return 0;
diff --git a/tools/h5copy/testh5copy.sh b/tools/h5copy/testh5copy.sh
index b8fbb79..61839bb 100644
--- a/tools/h5copy/testh5copy.sh
+++ b/tools/h5copy/testh5copy.sh
@@ -169,35 +169,50 @@ H5LSTEST()
# adding object copied to the destination file each time
#
# Assumed arguments:
-# $1 is test "variation" (a single letter, normally)
-# $2 is group within source file
-# $3 is group within destination file
+# <none>
COPYOBJECTS()
{
TESTFILE="$INDIR/$SRCFILE"
- FILEOUT="$OUTDIR/`basename $SRCFILE .h5`.$1.out.h5"
+ FILEOUT="$OUTDIR/`basename $SRCFILE .h5`.out.h5"
# Remove any output file left over from previous test run
rm -f $FILEOUT
- # Test copying various forms of datasets
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"simple -d "$3"simple
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"chunk -d "$3"chunk
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"compact -d "$3"compact
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"compound -d "$3"compound
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"compressed -d "$3"compressed
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"named_vl -d "$3"named_vl
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"nested_vl -d "$3"nested_vl
+ echo "Test copying various forms of datasets"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s simple -d simple
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s chunk -d chunk
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s compact -d compact
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s compound -d compound
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s compressed -d compressed
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s named_vl -d named_vl
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s nested_vl -d nested_vl
- # Test copying & renaming dataset
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"compound -d "$3"rename
+ echo "Test copying dataset within group in source file to root of destination"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_dsets/simple -d simple_top
- # Test copying empty & "full" groups
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"grp_empty -d "$3"grp_empty
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"grp_dsets -d "$3"grp_dsets
+ echo "Test copying & renaming dataset"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s compound -d rename
- # Test copying & renaming group
- TOOLTEST -i $TESTFILE -o $FILEOUT -v -s "$2"grp_dsets -d "$3"grp_rename
+ echo "Test copying empty, 'full' & 'nested' groups"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_empty -d grp_empty
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_dsets
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_nested -d grp_nested
+
+ echo "Test copying dataset within group in source file to group in destination"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s /grp_dsets/simple -d /grp_dsets/simple_group
+
+ echo "Test copying & renaming group"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+
+ echo "Test copying 'full' group hierarchy into group in destination file"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+
+ echo "Test copying objects into group hier. that doesn't exist yet in destination file"
+ TOOLTEST -i $TESTFILE -o $FILEOUT -vp -s simple -d /A/B1/simple
+ TOOLTEST -i $TESTFILE -o $FILEOUT -vp -s simple -d /A/B2/simple2
+ TOOLTEST -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets/simple -d /C/D/simple
+ TOOLTEST -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
# Verify that the file created above is correct
H5LSTEST $FILEOUT
@@ -213,13 +228,7 @@ COPYOBJECTS()
### T H E T E S T S ###
##############################################################################
-echo "Copy objects from root group of source file to root of destination file"
-echo "(with implicit root group paths)"
-COPYOBJECTS a "" ""
-
-echo "Copy objects from root group of source file to root of destination file"
-echo "(with explicit root group paths)"
-COPYOBJECTS b "/" "/"
+COPYOBJECTS
if test $nerrors -eq 0 ; then
diff --git a/tools/testfiles/h5copytst.a.out.ls b/tools/testfiles/h5copytst.a.out.ls
deleted file mode 100644
index 73c67d6..0000000
--- a/tools/testfiles/h5copytst.a.out.ls
+++ /dev/null
@@ -1,185 +0,0 @@
-#############################
-Expected output for 'h5ls ../testfiles/h5copytst.a.out.h5'
-#############################
-Opened "../testfiles/h5copytst.a.out.h5" with sec2 driver.
-/chunk Dataset {6/6}
- Location: 1:6216
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/compact Dataset {6/6}
- Location: 1:6344
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/compound Dataset {2/2}
- Location: 1:8528
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/compressed Dataset {6/6}
- Location: 1:12888
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_dsets Group
- Location: 1:31584
- Links: 1
-/grp_dsets/chunk Dataset {6/6}
- Location: 1:33720
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/compact Dataset {6/6}
- Location: 1:34176
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/compound Dataset {2/2}
- Location: 1:34312
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/grp_dsets/compressed Dataset {6/6}
- Location: 1:34528
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_dsets/named_vl Dataset {2/2}
- Location: 1:34744
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:34696 variable length of
- native int
-/grp_dsets/nested_vl Dataset {2/2}
- Location: 1:43216
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/grp_dsets/simple Dataset {6/6}
- Location: 1:43360
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/vl Type
- Location: 1:34696
- Links: 2
- Type: shared-1:34696 variable length of
- native int
-/grp_empty Group
- Location: 1:30464
- Links: 1
-/grp_rename Group
- Location: 1:44240
- Links: 1
-/grp_rename/chunk Dataset {6/6}
- Location: 1:46376
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/compact Dataset {6/6}
- Location: 1:46832
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/compound Dataset {2/2}
- Location: 1:46968
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/grp_rename/compressed Dataset {6/6}
- Location: 1:47184
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_rename/named_vl Dataset {2/2}
- Location: 1:47400
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:47352 variable length of
- native int
-/grp_rename/nested_vl Dataset {2/2}
- Location: 1:55872
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/grp_rename/simple Dataset {6/6}
- Location: 1:56016
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/vl Type
- Location: 1:47352
- Links: 2
- Type: shared-1:47352 variable length of
- native int
-/named_vl Dataset {2/2}
- Location: 1:13104
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:13056 variable length of
- native int
-/nested_vl Dataset {2/2}
- Location: 1:27392
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/rename Dataset {2/2}
- Location: 1:29584
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/simple Dataset {6/6}
- Location: 1:808
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
diff --git a/tools/testfiles/h5copytst.b.out.ls b/tools/testfiles/h5copytst.b.out.ls
deleted file mode 100644
index df18eac..0000000
--- a/tools/testfiles/h5copytst.b.out.ls
+++ /dev/null
@@ -1,185 +0,0 @@
-#############################
-Expected output for 'h5ls ../testfiles/h5copytst.b.out.h5'
-#############################
-Opened "../testfiles/h5copytst.b.out.h5" with sec2 driver.
-/chunk Dataset {6/6}
- Location: 1:6216
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/compact Dataset {6/6}
- Location: 1:6344
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/compound Dataset {2/2}
- Location: 1:8528
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/compressed Dataset {6/6}
- Location: 1:12888
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_dsets Group
- Location: 1:31584
- Links: 1
-/grp_dsets/chunk Dataset {6/6}
- Location: 1:33720
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/compact Dataset {6/6}
- Location: 1:34176
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/compound Dataset {2/2}
- Location: 1:34312
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/grp_dsets/compressed Dataset {6/6}
- Location: 1:34528
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_dsets/named_vl Dataset {2/2}
- Location: 1:34744
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:34696 variable length of
- native int
-/grp_dsets/nested_vl Dataset {2/2}
- Location: 1:43216
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/grp_dsets/simple Dataset {6/6}
- Location: 1:43360
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_dsets/vl Type
- Location: 1:34696
- Links: 2
- Type: shared-1:34696 variable length of
- native int
-/grp_empty Group
- Location: 1:30464
- Links: 1
-/grp_rename Group
- Location: 1:44240
- Links: 1
-/grp_rename/chunk Dataset {6/6}
- Location: 1:46376
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/compact Dataset {6/6}
- Location: 1:46832
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/compound Dataset {2/2}
- Location: 1:46968
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/grp_rename/compressed Dataset {6/6}
- Location: 1:47184
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Chunks: {2} 8 bytes
- Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
- Filter-0: deflate-1 OPT {1}
- Type: native int
-/grp_rename/named_vl Dataset {2/2}
- Location: 1:47400
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:47352 variable length of
- native int
-/grp_rename/nested_vl Dataset {2/2}
- Location: 1:55872
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/grp_rename/simple Dataset {6/6}
- Location: 1:56016
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
-/grp_rename/vl Type
- Location: 1:47352
- Links: 2
- Type: shared-1:47352 variable length of
- native int
-/named_vl Dataset {2/2}
- Location: 1:13104
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: shared-1:13056 variable length of
- native int
-/nested_vl Dataset {2/2}
- Location: 1:27392
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
- Type: variable length of
- variable length of
- native int
-/rename Dataset {2/2}
- Location: 1:29584
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
- Type: struct {
- "str1" +0 20-byte null-terminated ASCII string
- "str2" +20 20-byte null-terminated ASCII string
- } 40 bytes
-/simple Dataset {6/6}
- Location: 1:808
- Links: 1
- Modified: 2007-02-13 18:36:15 CST
- Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
- Type: native int
diff --git a/tools/testfiles/h5copytst.h5 b/tools/testfiles/h5copytst.h5
index 09f2bb9..f407f82 100644
--- a/tools/testfiles/h5copytst.h5
+++ b/tools/testfiles/h5copytst.h5
Binary files differ
diff --git a/tools/testfiles/h5copytst.out.ls b/tools/testfiles/h5copytst.out.ls
new file mode 100644
index 0000000..d2a6db7
--- /dev/null
+++ b/tools/testfiles/h5copytst.out.ls
@@ -0,0 +1,484 @@
+#############################
+Expected output for 'h5ls ../testfiles/h5copytst.out.h5'
+#############################
+Opened "../testfiles/h5copytst.out.h5" with sec2 driver.
+/A Group
+ Location: 1:90344
+ Links: 1
+/A/B1 Group
+ Location: 1:91056
+ Links: 1
+/A/B1/simple Dataset {6/6}
+ Location: 1:90216
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/A/B2 Group
+ Location: 1:94600
+ Links: 1
+/A/B2/simple2 Dataset {6/6}
+ Location: 1:94472
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/C Group
+ Location: 1:97816
+ Links: 1
+/C/D Group
+ Location: 1:98528
+ Links: 1
+/C/D/simple Dataset {6/6}
+ Location: 1:97688
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/E Group
+ Location: 1:103960
+ Links: 1
+/E/F Group
+ Location: 1:113216
+ Links: 1
+/E/F/grp_dsets Group
+ Location: 1:100648
+ Links: 1
+/E/F/grp_dsets/chunk Dataset {6/6}
+ Location: 1:102784
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/E/F/grp_dsets/compact Dataset {6/6}
+ Location: 1:103240
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/E/F/grp_dsets/compound Dataset {2/2}
+ Location: 1:103376
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/E/F/grp_dsets/compressed Dataset {6/6}
+ Location: 1:103592
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/E/F/grp_dsets/named_vl Dataset {2/2}
+ Location: 1:103808
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:103760 variable length of
+ native int
+/E/F/grp_dsets/nested_vl Dataset {2/2}
+ Location: 1:112280
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/E/F/grp_dsets/simple Dataset {6/6}
+ Location: 1:112424
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/E/F/grp_dsets/vl Type
+ Location: 1:103760
+ Links: 2
+ Type: shared-1:103760 variable length of
+ native int
+/G Group
+ Location: 1:128264
+ Links: 1
+/G/H Group
+ Location: 1:128976
+ Links: 1
+/G/H/grp_nested Group
+ Location: 1:115248
+ Links: 1
+/G/H/grp_nested/grp_dsets Group
+ Location: 1:116040
+ Links: 1
+/G/H/grp_nested/grp_dsets/chunk Dataset {6/6}
+ Location: 1:118176
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/G/H/grp_nested/grp_dsets/compact Dataset {6/6}
+ Location: 1:120776
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/G/H/grp_nested/grp_dsets/compound Dataset {2/2}
+ Location: 1:120912
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/G/H/grp_nested/grp_dsets/compressed Dataset {6/6}
+ Location: 1:123224
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/G/H/grp_nested/grp_dsets/named_vl Dataset {2/2}
+ Location: 1:127536
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:123392 variable length of
+ native int
+/G/H/grp_nested/grp_dsets/nested_vl Dataset {2/2}
+ Location: 1:127664
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/G/H/grp_nested/grp_dsets/simple Dataset {6/6}
+ Location: 1:127808
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/G/H/grp_nested/grp_dsets/vl Type
+ Location: 1:123392
+ Links: 2
+ Type: shared-1:123392 variable length of
+ native int
+/chunk Dataset {6/6}
+ Location: 1:6216
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/compact Dataset {6/6}
+ Location: 1:6344
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/compound Dataset {2/2}
+ Location: 1:8528
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/compressed Dataset {6/6}
+ Location: 1:12888
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/grp_dsets Group
+ Location: 1:33760
+ Links: 1
+/grp_dsets/chunk Dataset {6/6}
+ Location: 1:35896
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_dsets/compact Dataset {6/6}
+ Location: 1:36352
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_dsets/compound Dataset {2/2}
+ Location: 1:36488
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/grp_dsets/compressed Dataset {6/6}
+ Location: 1:36704
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/grp_dsets/named_vl Dataset {2/2}
+ Location: 1:36920
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:36872 variable length of
+ native int
+/grp_dsets/nested_vl Dataset {2/2}
+ Location: 1:45392
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/grp_dsets/simple Dataset {6/6}
+ Location: 1:45536
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_dsets/simple_group Dataset {6/6}
+ Location: 1:61744
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_dsets/vl Type
+ Location: 1:36872
+ Links: 2
+ Type: shared-1:36872 variable length of
+ native int
+/grp_empty Group
+ Location: 1:32968
+ Links: 1
+/grp_nested Group
+ Location: 1:46328
+ Links: 1
+/grp_nested/grp_dsets Group
+ Location: 1:47120
+ Links: 1
+/grp_nested/grp_dsets/chunk Dataset {6/6}
+ Location: 1:49256
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_nested/grp_dsets/compact Dataset {6/6}
+ Location: 1:51856
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_nested/grp_dsets/compound Dataset {2/2}
+ Location: 1:51992
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/grp_nested/grp_dsets/compressed Dataset {6/6}
+ Location: 1:54304
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/grp_nested/grp_dsets/named_vl Dataset {2/2}
+ Location: 1:58616
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:54472 variable length of
+ native int
+/grp_nested/grp_dsets/nested_vl Dataset {2/2}
+ Location: 1:58744
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/grp_nested/grp_dsets/simple Dataset {6/6}
+ Location: 1:58888
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_nested/grp_dsets/vl Type
+ Location: 1:54472
+ Links: 2
+ Type: shared-1:54472 variable length of
+ native int
+/grp_rename Group
+ Location: 1:62952
+ Links: 1
+/grp_rename/chunk Dataset {6/6}
+ Location: 1:65088
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/compact Dataset {6/6}
+ Location: 1:65544
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/compound Dataset {2/2}
+ Location: 1:65680
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/grp_rename/compressed Dataset {6/6}
+ Location: 1:65896
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/grp_rename/grp_dsets Group
+ Location: 1:75936
+ Links: 1
+/grp_rename/grp_dsets/chunk Dataset {6/6}
+ Location: 1:78072
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/grp_dsets/compact Dataset {6/6}
+ Location: 1:78528
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/grp_dsets/compound Dataset {2/2}
+ Location: 1:78664
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/grp_rename/grp_dsets/compressed Dataset {6/6}
+ Location: 1:78880
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Chunks: {2} 8 bytes
+ Storage: 24 logical bytes, 42 allocated bytes, 57.14% utilization
+ Filter-0: deflate-1 OPT {1}
+ Type: native int
+/grp_rename/grp_dsets/named_vl Dataset {2/2}
+ Location: 1:79096
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:79048 variable length of
+ native int
+/grp_rename/grp_dsets/nested_vl Dataset {2/2}
+ Location: 1:87568
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/grp_rename/grp_dsets/simple Dataset {6/6}
+ Location: 1:87712
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/grp_dsets/vl Type
+ Location: 1:79048
+ Links: 2
+ Type: shared-1:79048 variable length of
+ native int
+/grp_rename/named_vl Dataset {2/2}
+ Location: 1:66112
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:66064 variable length of
+ native int
+/grp_rename/nested_vl Dataset {2/2}
+ Location: 1:74584
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/grp_rename/simple Dataset {6/6}
+ Location: 1:74728
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/grp_rename/vl Type
+ Location: 1:66064
+ Links: 2
+ Type: shared-1:66064 variable length of
+ native int
+/named_vl Dataset {2/2}
+ Location: 1:13104
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: shared-1:13056 variable length of
+ native int
+/nested_vl Dataset {2/2}
+ Location: 1:27392
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 16 logical bytes, 32 allocated bytes, 50.00% utilization
+ Type: variable length of
+ variable length of
+ native int
+/rename Dataset {2/2}
+ Location: 1:31760
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 80 logical bytes, 80 allocated bytes, 100.00% utilization
+ Type: struct {
+ "str1" +0 20-byte null-terminated ASCII string
+ "str2" +20 20-byte null-terminated ASCII string
+ } 40 bytes
+/simple Dataset {6/6}
+ Location: 1:808
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int
+/simple_top Dataset {6/6}
+ Location: 1:29584
+ Links: 1
+ Modified: 2007-02-14 10:56:03 CST
+ Storage: 24 logical bytes, 24 allocated bytes, 100.00% utilization
+ Type: native int