summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/h5ls/h5ls.c386
1 files changed, 192 insertions, 194 deletions
diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c
index 6337231..3e335e9 100644
--- a/tools/h5ls/h5ls.c
+++ b/tools/h5ls/h5ls.c
@@ -176,7 +176,7 @@ static herr_t visit_obj(hid_t file, const char *oname, iter_t *iter);
static void
usage (void)
{
- HDfprintf(stderr, "\
+ HDfprintf(rawerrorstream, "\
usage: %s [OPTIONS] [OBJECTS...]\n\
OPTIONS\n\
-h, -?, --help Print a usage message and exit\n\
@@ -301,7 +301,7 @@ display_string(FILE *stream, const char *s, hbool_t escape_spaces)
break;
default:
if (isprint((int)*s)) {
- if (stream) putc(*s, stream);
+ if (stream) HDfputc(*s, stream);
nprint++;
} else {
if (stream) {
@@ -359,7 +359,7 @@ display_obj_name(FILE *stream, const iter_t *iter, const char *oname,
} /* end else */
n = display_string(stream, last_sep, TRUE);
} /* end else */
- printf("%*s ", MAX(0, (24 - n)), s);
+ HDfprintf(rawoutstream, "%*s ", MAX(0, (24 - n)), s);
return TRUE;
}
@@ -388,97 +388,97 @@ static hbool_t
display_native_type(hid_t type, int UNUSED ind)
{
if (H5Tequal(type, H5T_NATIVE_SCHAR)==TRUE) {
- printf("native signed char");
+ HDfprintf(rawoutstream, "native signed char");
} else if (H5Tequal(type, H5T_NATIVE_UCHAR)==TRUE) {
- printf("native unsigned char");
+ HDfprintf(rawoutstream, "native unsigned char");
} else if (H5Tequal(type, H5T_NATIVE_INT)==TRUE) {
- printf("native int");
+ HDfprintf(rawoutstream, "native int");
} else if (H5Tequal(type, H5T_NATIVE_UINT)==TRUE) {
- printf("native unsigned int");
+ HDfprintf(rawoutstream, "native unsigned int");
} else if (H5Tequal(type, H5T_NATIVE_SHORT)==TRUE) {
- printf("native short");
+ HDfprintf(rawoutstream, "native short");
} else if (H5Tequal(type, H5T_NATIVE_USHORT)==TRUE) {
- printf("native unsigned short");
+ HDfprintf(rawoutstream, "native unsigned short");
} else if (H5Tequal(type, H5T_NATIVE_LONG)==TRUE) {
- printf("native long");
+ HDfprintf(rawoutstream, "native long");
} else if (H5Tequal(type, H5T_NATIVE_ULONG)==TRUE) {
- printf("native unsigned long");
+ HDfprintf(rawoutstream, "native unsigned long");
} else if (H5Tequal(type, H5T_NATIVE_LLONG)==TRUE) {
- printf("native long long");
+ HDfprintf(rawoutstream, "native long long");
} else if (H5Tequal(type, H5T_NATIVE_ULLONG)==TRUE) {
- printf("native unsigned long long");
+ HDfprintf(rawoutstream, "native unsigned long long");
} else if (H5Tequal(type, H5T_NATIVE_FLOAT)==TRUE) {
- printf("native float");
+ HDfprintf(rawoutstream, "native float");
} else if (H5Tequal(type, H5T_NATIVE_DOUBLE)==TRUE) {
- printf("native double");
+ HDfprintf(rawoutstream, "native double");
#if H5_SIZEOF_LONG_DOUBLE !=0
} else if (H5Tequal(type, H5T_NATIVE_LDOUBLE)==TRUE) {
- printf("native long double");
+ HDfprintf(rawoutstream, "native long double");
#endif
} else if (H5Tequal(type, H5T_NATIVE_INT8)==TRUE) {
- printf("native int8_t");
+ HDfprintf(rawoutstream, "native int8_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT8)==TRUE) {
- printf("native uint8_t");
+ HDfprintf(rawoutstream, "native uint8_t");
} else if (H5Tequal(type, H5T_NATIVE_INT16)==TRUE) {
- printf("native int16_t");
+ HDfprintf(rawoutstream, "native int16_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT16)==TRUE) {
- printf("native uint16_t");
+ HDfprintf(rawoutstream, "native uint16_t");
} else if (H5Tequal(type, H5T_NATIVE_INT32)==TRUE) {
- printf("native int32_t");
+ HDfprintf(rawoutstream, "native int32_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT32)==TRUE) {
- printf("native uint32_t");
+ HDfprintf(rawoutstream, "native uint32_t");
} else if (H5Tequal(type, H5T_NATIVE_INT64)==TRUE) {
- printf("native int64_t");
+ HDfprintf(rawoutstream, "native int64_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT64)==TRUE) {
- printf("native uint64_t");
+ HDfprintf(rawoutstream, "native uint64_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_LEAST8)==TRUE) {
- printf("native int_least8_t");
+ HDfprintf(rawoutstream, "native int_least8_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST8)==TRUE) {
- printf("native uint_least8_t");
+ HDfprintf(rawoutstream, "native uint_least8_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_LEAST16)==TRUE) {
- printf("native int_least16_t");
+ HDfprintf(rawoutstream, "native int_least16_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST16)==TRUE) {
- printf("native uint_least16_t");
+ HDfprintf(rawoutstream, "native uint_least16_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_LEAST32)==TRUE) {
- printf("native int_least32_t");
+ HDfprintf(rawoutstream, "native int_least32_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST32)==TRUE) {
- printf("native uint_least32_t");
+ HDfprintf(rawoutstream, "native uint_least32_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_LEAST64)==TRUE) {
- printf("native int_least64_t");
+ HDfprintf(rawoutstream, "native int_least64_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST64)==TRUE) {
- printf("native uint_least64_t");
+ HDfprintf(rawoutstream, "native uint_least64_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_FAST8)==TRUE) {
- printf("native int_fast8_t");
+ HDfprintf(rawoutstream, "native int_fast8_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_FAST8)==TRUE) {
- printf("native uint_fast8_t");
+ HDfprintf(rawoutstream, "native uint_fast8_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_FAST16)==TRUE) {
- printf("native int_fast16_t");
+ HDfprintf(rawoutstream, "native int_fast16_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_FAST16)==TRUE) {
- printf("native uint_fast16_t");
+ HDfprintf(rawoutstream, "native uint_fast16_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_FAST32)==TRUE) {
- printf("native int_fast32_t");
+ HDfprintf(rawoutstream, "native int_fast32_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_FAST32)==TRUE) {
- printf("native uint_fast32_t");
+ HDfprintf(rawoutstream, "native uint_fast32_t");
} else if (H5Tequal(type, H5T_NATIVE_INT_FAST64)==TRUE) {
- printf("native int_fast64_t");
+ HDfprintf(rawoutstream, "native int_fast64_t");
} else if (H5Tequal(type, H5T_NATIVE_UINT_FAST64)==TRUE) {
- printf("native uint_fast64_t");
+ HDfprintf(rawoutstream, "native uint_fast64_t");
} else if (H5Tequal(type, H5T_NATIVE_B8)==TRUE) {
- printf("native 8-bit field");
+ HDfprintf(rawoutstream, "native 8-bit field");
} else if (H5Tequal(type, H5T_NATIVE_B16)==TRUE) {
- printf("native 16-bit field");
+ HDfprintf(rawoutstream, "native 16-bit field");
} else if (H5Tequal(type, H5T_NATIVE_B32)==TRUE) {
- printf("native 32-bit field");
+ HDfprintf(rawoutstream, "native 32-bit field");
} else if (H5Tequal(type, H5T_NATIVE_B64)==TRUE) {
- printf("native 64-bit field");
+ HDfprintf(rawoutstream, "native 64-bit field");
} else if (H5Tequal(type, H5T_NATIVE_HSIZE)==TRUE) {
- printf("native hsize_t");
+ HDfprintf(rawoutstream, "native hsize_t");
} else if (H5Tequal(type, H5T_NATIVE_HSSIZE)==TRUE) {
- printf("native hssize_t");
+ HDfprintf(rawoutstream, "native hssize_t");
} else if (H5Tequal(type, H5T_NATIVE_HERR)==TRUE) {
- printf("native herr_t");
+ HDfprintf(rawoutstream, "native herr_t");
} else if (H5Tequal(type, H5T_NATIVE_HBOOL)==TRUE) {
- printf("native hbool_t");
+ HDfprintf(rawoutstream, "native hbool_t");
} else {
return FALSE;
}
@@ -506,13 +506,13 @@ static hbool_t
display_ieee_type(hid_t type, int UNUSED ind)
{
if (H5Tequal(type, H5T_IEEE_F32BE)==TRUE) {
- printf("IEEE 32-bit big-endian float");
+ HDfprintf(rawoutstream, "IEEE 32-bit big-endian float");
} else if (H5Tequal(type, H5T_IEEE_F32LE)==TRUE) {
- printf("IEEE 32-bit little-endian float");
+ HDfprintf(rawoutstream, "IEEE 32-bit little-endian float");
} else if (H5Tequal(type, H5T_IEEE_F64BE)==TRUE) {
- printf("IEEE 64-bit big-endian float");
+ HDfprintf(rawoutstream, "IEEE 64-bit big-endian float");
} else if (H5Tequal(type, H5T_IEEE_F64LE)==TRUE) {
- printf("IEEE 64-bit little-endian float");
+ HDfprintf(rawoutstream, "IEEE 64-bit little-endian float");
} else {
return FALSE;
}
@@ -549,7 +549,7 @@ display_precision(hid_t type, int ind)
* and offset on the following line. Also display the padding
* information. */
if (8*H5Tget_size(type)!=(prec=H5Tget_precision(type))) {
- printf("\n%*s(%lu bit%s of precision beginning at bit %lu)",
+ HDfprintf(rawoutstream, "\n%*s(%lu bit%s of precision beginning at bit %lu)",
ind, "", (unsigned long)prec, 1==prec?"":"s",
(unsigned long)H5Tget_offset(type));
@@ -595,20 +595,20 @@ display_precision(hid_t type, int ind)
}
}
if (plsb_s || pmsb_s) {
- printf("\n%*s(", ind, "");
+ HDfprintf(rawoutstream, "\n%*s(", ind, "");
if (plsb_s) {
nbits = H5Tget_offset(type);
- printf("%lu %s bit%s at bit 0",
+ HDfprintf(rawoutstream, "%lu %s bit%s at bit 0",
(unsigned long)nbits, plsb_s, 1==nbits?"":"s");
}
- if (plsb_s && pmsb_s) printf(", ");
+ if (plsb_s && pmsb_s) HDfprintf(rawoutstream, ", ");
if (pmsb_s) {
nbits = 8*H5Tget_size(type)-(H5Tget_offset(type)+prec);
- printf("%lu %s bit%s at bit %lu",
+ HDfprintf(rawoutstream, "%lu %s bit%s at bit %lu",
(unsigned long)nbits, pmsb_s, 1==nbits?"":"s",
(unsigned long)(8*H5Tget_size(type)-nbits));
}
- printf(")");
+ HDfprintf(rawoutstream, ")");
}
}
}
@@ -674,7 +674,7 @@ display_int_type(hid_t type, int ind)
/* Print size, order, and sign on first line, precision and padding
* information on the subsequent lines */
- printf("%lu-bit%s%s integer",
+ HDfprintf(rawoutstream, "%lu-bit%s%s integer",
(unsigned long)(8*H5Tget_size(type)), order_s, sign_s);
display_precision(type, ind);
return TRUE;
@@ -731,7 +731,7 @@ display_float_type(hid_t type, int ind)
/* Print size and byte order on first line, precision and padding on
* subsequent lines. */
- printf("%lu-bit%s floating-point",
+ HDfprintf(rawoutstream, "%lu-bit%s floating-point",
(unsigned long)(8*H5Tget_size(type)), order_s);
display_precision(type, ind);
@@ -756,13 +756,13 @@ display_float_type(hid_t type, int ind)
;
break;
}
- printf("\n%*s(significant for %lu bit%s at bit %lu%s)", ind, "",
+ HDfprintf(rawoutstream, "\n%*s(significant for %lu bit%s at bit %lu%s)", ind, "",
(unsigned long)msize, 1==msize?"":"s", (unsigned long)mpos,
norm_s);
- printf("\n%*s(exponent for %lu bit%s at bit %lu, bias is 0x%lx)",
+ HDfprintf(rawoutstream, "\n%*s(exponent for %lu bit%s at bit %lu, bias is 0x%lx)",
ind, "", (unsigned long)esize, 1==esize?"":"s",
(unsigned long)epos, (unsigned long)ebias);
- printf("\n%*s(sign bit at %lu)", ind, "", (unsigned long)spos);
+ HDfprintf(rawoutstream, "\n%*s(sign bit at %lu)", ind, "", (unsigned long)spos);
/* Display internal padding */
if (1+esize+msize<H5Tget_precision(type)) {
@@ -785,7 +785,7 @@ display_float_type(hid_t type, int ind)
;
break;
}
- printf("\n%*s(internal padding bits are %s)", ind, "", pad_s);
+ HDfprintf(rawoutstream, "\n%*s(internal padding bits are %s)", ind, "", pad_s);
}
return TRUE;
}
@@ -818,15 +818,15 @@ display_cmpd_type(hid_t type, int ind)
unsigned i; /* miscellaneous counters */
if (H5T_COMPOUND!=H5Tget_class(type)) return FALSE;
- printf("struct {");
+ HDfprintf(rawoutstream, "struct {");
nmembs=H5Tget_nmembers(type);
for (i=0; i<nmembs; i++) {
/* Name and offset */
name = H5Tget_member_name(type, i);
- printf("\n%*s\"", ind+4, "");
- n = display_string(stdout, name, FALSE);
- printf("\"%*s +%-4lu ", MAX(0, 16-n), "",
+ HDfprintf(rawoutstream, "\n%*s\"", ind+4, "");
+ n = display_string(rawoutstream, name, FALSE);
+ HDfprintf(rawoutstream, "\"%*s +%-4lu ", MAX(0, 16-n), "",
(unsigned long)H5Tget_member_offset(type, i));
HDfree(name);
@@ -836,7 +836,7 @@ display_cmpd_type(hid_t type, int ind)
H5Tclose(subtype);
}
size = H5Tget_size(type);
- printf("\n%*s} %lu byte%s",
+ HDfprintf(rawoutstream, "\n%*s} %lu byte%s",
ind, "", (unsigned long)size, 1==size?"":"s");
return TRUE;
}
@@ -876,9 +876,9 @@ display_enum_type(hid_t type, int ind)
nmembs = H5Tget_nmembers(type);
HDassert(nmembs>0);
super = H5Tget_super(type);
- printf("enum ");
+ HDfprintf(rawoutstream, "enum ");
display_type(super, ind+4);
- printf(" {");
+ HDfprintf(rawoutstream, " {");
/* Determine what data type to use for the native values. To simplify
* things we entertain three possibilities:
@@ -912,25 +912,25 @@ display_enum_type(hid_t type, int ind)
/* Print members */
for (i=0; i<nmembs; i++) {
- printf("\n%*s", ind+4, "");
- nchars = display_string(stdout, name[i], TRUE);
- printf("%*s = ", MAX(0, 16-nchars), "");
+ HDfprintf(rawoutstream, "\n%*s", ind+4, "");
+ nchars = display_string(rawoutstream, name[i], TRUE);
+ HDfprintf(rawoutstream, "%*s = ", MAX(0, 16-nchars), "");
if (native<0) {
- printf("0x");
+ HDfprintf(rawoutstream, "0x");
for (j=0; j<dst_size; j++)
- printf("%02x", value[i*dst_size+j]);
+ HDfprintf(rawoutstream, "%02x", value[i*dst_size+j]);
} else if (H5T_SGN_NONE==H5Tget_sign(native)) {
/*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
*strangely, unless use another pointer "copy".*/
copy = value+i*dst_size;
- HDfprintf(stdout,"%"H5_PRINTF_LL_WIDTH"u",
+ HDfprintf(rawoutstream,"%"H5_PRINTF_LL_WIDTH"u",
*((unsigned long long*)((void*)copy)));
} else {
/*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
*strangely, unless use another pointer "copy".*/
copy = value+i*dst_size;
- HDfprintf(stdout,"%"H5_PRINTF_LL_WIDTH"d",
+ HDfprintf(rawoutstream,"%"H5_PRINTF_LL_WIDTH"d",
*((long long*)((void*)copy)));
}
}
@@ -941,8 +941,8 @@ display_enum_type(hid_t type, int ind)
HDfree(value);
H5Tclose(super);
- if (0==nmembs) printf("\n%*s <empty>", ind+4, "");
- printf("\n%*s}", ind, "");
+ if (0==nmembs) HDfprintf(rawoutstream, "\n%*s <empty>", ind+4, "");
+ HDfprintf(rawoutstream, "\n%*s}", ind, "");
return TRUE;
}
@@ -1038,11 +1038,11 @@ display_string_type(hid_t type, int UNUSED ind)
}
if (H5Tis_variable_str(type)) {
- printf("variable-length");
+ HDfprintf(rawoutstream, "variable-length");
} else {
- printf("%lu-byte", (unsigned long)H5Tget_size(type));
+ HDfprintf(rawoutstream, "%lu-byte", (unsigned long)H5Tget_size(type));
}
- printf(" %s %s string", pad_s, cset_s);
+ HDfprintf(rawoutstream, " %s %s string", pad_s, cset_s);
return TRUE;
}
@@ -1071,11 +1071,11 @@ display_reference_type(hid_t type, int UNUSED ind)
if (H5T_REFERENCE!=H5Tget_class(type)) return FALSE;
if (H5Tequal(type, H5T_STD_REF_OBJ)==TRUE) {
- printf("object reference");
+ HDfprintf(rawoutstream, "object reference");
} else if (H5Tequal(type, H5T_STD_REF_DSETREG)==TRUE) {
- printf("dataset region reference");
+ HDfprintf(rawoutstream, "dataset region reference");
} else {
- printf("%lu-byte unknown reference",
+ HDfprintf(rawoutstream, "%lu-byte unknown reference",
(unsigned long)H5Tget_size(type));
}
@@ -1108,11 +1108,11 @@ display_opaque_type(hid_t type, int ind)
if (H5T_OPAQUE!=H5Tget_class(type)) return FALSE;
size = H5Tget_size(type);
- printf("%lu-byte opaque type", (unsigned long)size);
+ HDfprintf(rawoutstream, "%lu-byte opaque type", (unsigned long)size);
if ((tag=H5Tget_tag(type))) {
- printf("\n%*s(tag = \"", ind, "");
- display_string(stdout, tag, FALSE);
- printf("\")");
+ HDfprintf(rawoutstream, "\n%*s(tag = \"", ind, "");
+ display_string(rawoutstream, tag, FALSE);
+ HDfprintf(rawoutstream, "\")");
HDfree(tag);
}
return TRUE;
@@ -1141,7 +1141,7 @@ display_vlen_type(hid_t type, int ind)
if (H5T_VLEN!=H5Tget_class(type)) return FALSE;
- printf("variable length of\n%*s", ind+4, "");
+ HDfprintf(rawoutstream, "variable length of\n%*s", ind+4, "");
super = H5Tget_super(type);
display_type(super, ind+4);
H5Tclose(super);
@@ -1177,17 +1177,17 @@ display_array_type(hid_t type, int ind)
/* Print dimensions */
for (i=0; i<ndims; i++)
- HDfprintf(stdout, "%s%Hu" , i?",":"[", dims[i]);
- putchar(']');
+ HDfprintf(rawoutstream, "%s%Hu" , i?",":"[", dims[i]);
+ HDfputc(']', rawoutstream);
HDfree(dims);
} else {
- fputs(" [SCALAR]", stdout);
+ HDfputs(" [SCALAR]", rawoutstream);
}
/* Print parent type */
- putchar(' ');
+ HDfputc(' ', rawoutstream);
super = H5Tget_super(type);
display_type(super, ind+4);
H5Tclose(super);
@@ -1235,7 +1235,7 @@ display_bitfield_type(hid_t type, int ind)
order_s = "";
}
- printf("%lu-bit%s bitfield",
+ HDfprintf(rawoutstream, "%lu-bit%s bitfield",
(unsigned long)(8*H5Tget_size(type)), order_s);
display_precision(type, ind);
return TRUE;
@@ -1269,7 +1269,7 @@ display_type(hid_t type, int ind)
/* Bad data type */
if (type<0) {
- printf("<ERROR>");
+ HDfprintf(rawoutstream, "<ERROR>");
return;
}
@@ -1278,10 +1278,10 @@ display_type(hid_t type, int ind)
H5O_info_t oi;
if(H5Oget_info(type, &oi) >= 0)
- printf("shared-%lu:"H5_PRINTF_HADDR_FMT" ",
+ HDfprintf(rawoutstream, "shared-%lu:"H5_PRINTF_HADDR_FMT" ",
oi.fileno, oi.addr);
else
- printf("shared ");
+ HDfprintf(rawoutstream, "shared ");
} /* end if */
/* Print the type */
@@ -1300,7 +1300,7 @@ display_type(hid_t type, int ind)
return;
/* Unknown type */
- printf("%lu-byte class-%u unknown",
+ HDfprintf(rawoutstream, "%lu-byte class-%u unknown",
(unsigned long)H5Tget_size(type), (unsigned)data_class);
}
@@ -2267,7 +2267,7 @@ print_array_type(h5tools_str_t *buffer, hid_t type, int ind)
HDfree(dims);
}
else {
- h5tools_str_append(buffer, " [SCALAR]\n", stdout);
+ h5tools_str_append(buffer, " [SCALAR]\n", rawoutstream);
}
@@ -2504,18 +2504,18 @@ dump_dataset_values(hid_t dset)
/* Print all the values. */
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, " Data:\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
ctx.need_prefix = TRUE;
ctx.cur_column = curr_pos;
- if (h5tools_dump_dset(stdout, info, &ctx, dset, -1, NULL) < 0) {
+ if (h5tools_dump_dset(rawoutstream, info, &ctx, dset, -1, NULL) < 0) {
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, " Unable to print data.");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
}
H5Tclose(f_type);
- HDfprintf(stdout, "\n");
+ HDfprintf(rawoutstream, "\n");
h5tools_str_close(&buffer);
}
@@ -2579,7 +2579,7 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
case H5S_SCALAR:
/* scalar dataspace */
h5tools_str_append(&buffer, " scalar\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
break;
case H5S_SIMPLE:
@@ -2590,19 +2590,19 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
nelmts *= size[i];
}
h5tools_str_append(&buffer, "}\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
break;
case H5S_NULL:
/* null dataspace */
h5tools_str_append(&buffer, " null\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
break;
default:
/* Unknown dataspace type */
h5tools_str_append(&buffer, " unknown\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
break;
} /* end switch */
@@ -2611,7 +2611,7 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
h5tools_str_append(&buffer, " Type: ");
print_type(&buffer, type, 15);
h5tools_str_append(&buffer, "\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
/* Data */
outputformat = *info;
@@ -2627,7 +2627,7 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
else {
h5tools_str_reset(&buffer);
h5tools_str_append(&buffer, " Data:\n");
- h5tools_render_element(stdout, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
+ h5tools_render_element(rawoutstream, info, &ctx, &buffer, &curr_pos, info->line_ncols, 0, 0);
outputformat.line_1st = NULL;
outputformat.line_pre = " %s ";
outputformat.line_cont = " %s ";
@@ -2684,7 +2684,7 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
ctx.need_prefix = TRUE;
ctx.indent_level = 2;
ctx.cur_column = curr_pos;
- h5tools_dump_mem(stdout, info, &ctx, attr, p_type, space, buf);
+ h5tools_dump_mem(rawoutstream, info, &ctx, attr, p_type, space, buf);
}
/* Reclaim any VL memory, if necessary */
@@ -2694,14 +2694,14 @@ list_attr(hid_t obj, const char *attr_name, const H5A_info_t UNUSED *ainfo,
HDfree(buf);
H5Tclose(p_type);
} /* end if */
- HDfprintf(stdout, "\n");
+ HDfprintf(rawoutstream, "\n");
H5Sclose(space);
H5Tclose(type);
H5Aclose(attr);
}
else {
- HDfprintf(stdout, "\n");
+ HDfprintf(rawoutstream, "\n");
}
h5tools_str_close(&buffer);
@@ -2746,16 +2746,16 @@ dataset_list1(hid_t dset)
ndims = H5Sget_simple_extent_dims(space, cur_size, max_size);
printf (" {");
for (i=0; i<ndims; i++) {
- HDfprintf (stdout, "%s%Hu", i?", ":"", cur_size[i]);
+ HDfprintf (rawoutstream, "%s%Hu", i?", ":"", cur_size[i]);
if (max_size[i]==H5S_UNLIMITED) {
- HDfprintf (stdout, "/%s", "Inf");
+ HDfprintf (rawoutstream, "/%s", "Inf");
} else if (max_size[i]!=cur_size[i] || verbose_g>0) {
- HDfprintf(stdout, "/%Hu", max_size[i]);
+ HDfprintf(rawoutstream, "/%Hu", max_size[i]);
}
}
- if (space_type==H5S_SCALAR) printf("SCALAR");
- else if (space_type==H5S_NULL) printf("NULL");
- putchar('}');
+ if (space_type==H5S_SCALAR) HDfprintf(rawoutstream, "SCALAR");
+ else if (space_type==H5S_NULL) HDfprintf(rawoutstream, "NULL");
+ HDfputc('}', rawoutstream);
H5Sclose (space);
return 0;
@@ -2812,48 +2812,46 @@ dataset_list2(hid_t dset, const char UNUSED *name)
hsize_t chsize[64]; /* chunk size in elements */
ndims = H5Pget_chunk(dcpl, NELMTS(chsize), chsize/*out*/);
- printf(" %-10s {", "Chunks:");
+ HDfprintf(rawoutstream, " %-10s {", "Chunks:");
total = H5Tget_size(type);
for (i=0; i<ndims; i++) {
- printf("%s%lu", i?", ":"", (unsigned long)(chsize[i]));
+ HDfprintf(rawoutstream, "%s%lu", i?", ":"", (unsigned long)(chsize[i]));
total *= chsize[i];
}
- printf("} %lu bytes\n", (unsigned long)total);
+ HDfprintf(rawoutstream, "} %lu bytes\n", (unsigned long)total);
}
/* Print total raw storage size */
total = H5Sget_simple_extent_npoints(space) * H5Tget_size(type);
used = H5Dget_storage_size(dset);
tclass = H5Tget_class(type);
- printf(" %-10s ", "Storage:");
+ HDfprintf(rawoutstream, " %-10s ", "Storage:");
switch (tclass)
{
case H5T_VLEN:
- printf("information not available");
+ HDfprintf(rawoutstream, "information not available");
break;
case H5T_REFERENCE:
if ( H5Tequal(type, H5T_STD_REF_DSETREG))
{
- printf("information not available");
+ HDfprintf(rawoutstream, "information not available");
}
break;
default:
- printf("%lu logical byte%s, %lu allocated byte%s",
+ HDfprintf(rawoutstream, "%lu logical byte%s, %lu allocated byte%s",
(unsigned long)total, 1==total?"":"s",
(unsigned long)used, 1==used?"":"s");
if (used>0)
{
utilization = (total*100.0)/used;
- printf(", %1.2f%% utilization", utilization);
+ HDfprintf(rawoutstream, ", %1.2f%% utilization", utilization);
}
-
}
-
- putchar('\n');
+ HDfputc('\n', rawoutstream);
/* Print information about external strorage */
if((nf = H5Pget_external_count(dcpl)) > 0) {
@@ -2862,37 +2860,37 @@ dataset_list2(hid_t dset, const char UNUSED *name)
n = display_string(NULL, f_name, TRUE);
max_len = MAX(max_len, n);
} /* end for */
- printf(" %-10s %d external file%s\n",
+ HDfprintf(rawoutstream, " %-10s %d external file%s\n",
"Extern:", nf, 1==nf?"":"s");
- printf(" %4s %10s %10s %10s %s\n",
+ HDfprintf(rawoutstream, " %4s %10s %10s %10s %s\n",
"ID", "DSet-Addr", "File-Addr", "Bytes", "File");
- printf(" %4s %10s %10s %10s ",
+ HDfprintf(rawoutstream, " %4s %10s %10s %10s ",
"----", "----------", "----------", "----------");
- for (i=0; i<max_len; i++) putchar('-');
- putchar('\n');
+ for (i=0; i<max_len; i++) HDfputc('-', rawoutstream);
+ HDfputc('\n', rawoutstream);
for (i=0, total=0; i<nf; i++) {
if (H5Pget_external(dcpl, (unsigned)i, sizeof(f_name), f_name, &f_offset, &f_size)<0) {
- HDfprintf(stdout,
+ HDfprintf(rawoutstream,
" #%03d %10Hu %10s %10s ***ERROR*** %s\n",
i, total, "", "",
i+1<nf?"Following addresses are incorrect":"");
} else if (H5S_UNLIMITED==f_size) {
- HDfprintf(stdout, " #%03d %10Hu %10Hu %10s ",
+ HDfprintf(rawoutstream, " #%03d %10Hu %10Hu %10s ",
i, total, (hsize_t)f_offset, "INF");
- display_string(stdout, f_name, TRUE);
+ display_string(rawoutstream, f_name, TRUE);
} else {
- HDfprintf(stdout, " #%03d %10Hu %10Hu %10Hu ",
+ HDfprintf(rawoutstream, " #%03d %10Hu %10Hu %10Hu ",
i, total, (hsize_t)f_offset, f_size);
- display_string(stdout, f_name, TRUE);
+ display_string(rawoutstream, f_name, TRUE);
}
- putchar('\n');
+ HDfputc('\n', rawoutstream);
total += f_size;
}
- printf(" %4s %10s %10s %10s ",
+ HDfprintf(rawoutstream, " %4s %10s %10s %10s ",
"----", "----------", "----------", "----------");
for (i=0; i<max_len; i++)
- putchar('-');
- putchar('\n');
+ HDfputc('-', rawoutstream);
+ HDfputc('\n', rawoutstream);
} /* end if */
/* Print information about raw data filters */
@@ -2903,20 +2901,20 @@ dataset_list2(hid_t dset, const char UNUSED *name)
cd_values, sizeof(f_name), f_name, NULL);
f_name[sizeof(f_name) - 1] = '\0';
sprintf(s, "Filter-%d:", i);
- printf(" %-10s %s-%u %s {", s,
+ HDfprintf(rawoutstream, " %-10s %s-%u %s {", s,
(f_name[0] ? f_name : "method"),
(unsigned)filt_id,
((filt_flags & H5Z_FLAG_OPTIONAL) ? "OPT" : ""));
for(cd_num = 0; cd_num < cd_nelmts; cd_num++)
- printf("%s%u", (cd_num ? ", " : ""), cd_values[cd_num]);
- printf("}\n");
+ HDfprintf(rawoutstream, "%s%u", (cd_num ? ", " : ""), cd_values[cd_num]);
+ HDfprintf(rawoutstream, "}\n");
} /* end for */
} /* end if */
/* Print data type */
- printf(" %-10s ", "Type:");
+ HDfprintf(rawoutstream, " %-10s ", "Type:");
display_type(type, 15);
- printf("\n");
+ HDfprintf(rawoutstream, "\n");
/* Print address information */
if(address_g)
@@ -2956,9 +2954,9 @@ static herr_t
datatype_list2(hid_t type, const char UNUSED *name)
{
if (verbose_g>0) {
- printf(" %-10s ", "Type:");
+ HDfprintf(rawoutstream, " %-10s ", "Type:");
display_type(type, 15);
- printf("\n");
+ HDfprintf(rawoutstream, "\n");
}
return 0;
}
@@ -2986,24 +2984,24 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
/* Print the link's name, either full name or base name */
if(!iter->symlink_target)
- display_obj_name(stdout, iter, name, "");
+ display_obj_name(rawoutstream, iter, name, "");
/* Check object information */
if(oinfo->type < 0 || oinfo->type >= H5O_TYPE_NTYPES) {
- printf("Unknown type(%d)", (int)oinfo->type);
+ HDfprintf(rawoutstream, "Unknown type(%d)", (int)oinfo->type);
obj_type = H5O_TYPE_UNKNOWN;
}
if(iter->symlink_target)
- fputc('{', stdout);
+ HDfputc('{', rawoutstream);
if(obj_type >= 0 && dispatch_g[obj_type].name)
- fputs(dispatch_g[obj_type].name, stdout);
+ HDfputs(dispatch_g[obj_type].name, rawoutstream);
/* Check if we've seen this object before */
if(first_seen) {
- printf(", same as ");
- display_string(stdout, first_seen, TRUE);
+ HDfprintf(rawoutstream, ", same as ");
+ display_string(rawoutstream, first_seen, TRUE);
if(!iter->symlink_target)
- printf("\n");
+ HDfprintf(rawoutstream, "\n");
} /* end if */
else {
hid_t obj = (-1); /* ID of object opened */
@@ -3012,7 +3010,7 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
* then return right away.
*/
if(obj_type >= 0 && (obj = H5Oopen(iter->fid, name, H5P_DEFAULT)) < 0) {
- printf(" *ERROR*\n");
+ HDfprintf(rawoutstream, " *ERROR*\n");
goto done;
} /* end if */
@@ -3020,7 +3018,7 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
if(obj_type >= 0 && dispatch_g[obj_type].list1)
(dispatch_g[obj_type].list1)(obj);
if(!iter->symlink_target || (verbose_g > 0))
- putchar('\n');
+ HDfputc('\n', rawoutstream);
/* Show detailed information about the object, beginning with information
* which is common to all objects. */
@@ -3034,8 +3032,8 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
H5Aiterate2(obj, H5_INDEX_NAME, H5_ITER_INC, NULL, list_attr, NULL);
/* Object location & reference count */
- printf(" %-10s %lu:"H5_PRINTF_HADDR_FMT"\n", "Location:", oinfo->fileno, oinfo->addr);
- printf(" %-10s %u\n", "Links:", (unsigned)oinfo->rc);
+ HDfprintf(rawoutstream, " %-10s %lu:"H5_PRINTF_HADDR_FMT"\n", "Location:", oinfo->fileno, oinfo->addr);
+ HDfprintf(rawoutstream, " %-10s %u\n", "Links:", (unsigned)oinfo->rc);
/* Modification time */
if(oinfo->mtime > 0) {
@@ -3048,7 +3046,7 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
tm = HDlocaltime(&(oinfo->mtime));
if(tm) {
HDstrftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm);
- printf(" %-10s %s\n", "Modified:", buf);
+ HDfprintf(rawoutstream, " %-10s %s\n", "Modified:", buf);
} /* end if */
} /* end if */
@@ -3064,9 +3062,9 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
cmt_bufsize = H5Oget_comment(obj, comment, cmt_bufsize);
if(cmt_bufsize > 0) {
comment[cmt_bufsize] = 0;
- printf(" %-10s \"", "Comment:");
- display_string(stdout, comment, FALSE);
- puts("\"");
+ HDfprintf(rawoutstream, " %-10s \"", "Comment:");
+ display_string(rawoutstream, comment, FALSE);
+ HDfputs("\"\n", rawoutstream);
} /* end if */
HDfree(comment);
}
@@ -3084,7 +3082,7 @@ list_obj(const char *name, const H5O_info_t *oinfo, const char *first_seen, void
done:
if(iter->symlink_target) {
- fputs("}\n", stdout);
+ HDfputs("}\n", rawoutstream);
iter->symlink_target = FALSE;
}
return 0;
@@ -3122,7 +3120,7 @@ list_lnk(const char *name, const H5L_info_t *linfo, void *_iter)
lnk_info.opt.msg_mode=1;
/* Print the link's name, either full name or base name */
- display_obj_name(stdout, iter, name, "");
+ display_obj_name(rawoutstream, iter, name, "");
switch(linfo->type) {
case H5L_TYPE_SOFT:
@@ -3137,18 +3135,18 @@ list_lnk(const char *name, const H5L_info_t *linfo, void *_iter)
else if (no_dangling_link_g && ret == 0)
iter->symlink_list->dangle_link = TRUE;
- HDfputs("Soft Link {", stdout);
- HDfputs(buf, stdout);
- HDfputc('}', stdout);
+ HDfputs("Soft Link {", rawoutstream);
+ HDfputs(buf, rawoutstream);
+ HDfputc('}', rawoutstream);
if(follow_symlink_g)
{
hbool_t orig_grp_literal = grp_literal_g;
- HDfputc(' ', stdout);
+ HDfputc(' ', rawoutstream);
/* Check if we have already seen this softlink */
if(symlink_is_visited(iter->symlink_list, linfo->type, NULL, buf))
{
- HDfputs("{Already Visited}\n", stdout);
+ HDfputs("{Already Visited}\n", rawoutstream);
goto done;
}
@@ -3174,7 +3172,7 @@ list_lnk(const char *name, const H5L_info_t *linfo, void *_iter)
grp_literal_g = orig_grp_literal;
}
else
- HDfputc('\n', stdout);
+ HDfputc('\n', rawoutstream);
break;
@@ -3198,25 +3196,25 @@ list_lnk(const char *name, const H5L_info_t *linfo, void *_iter)
if(H5Lunpack_elink_val(buf, linfo->u.val_size, NULL, &filename, &path) < 0)
goto done;
- HDfputs("External Link {", stdout);
- HDfputs(filename, stdout);
- HDfputc('/', stdout);
+ HDfputs("External Link {", rawoutstream);
+ HDfputs(filename, rawoutstream);
+ HDfputc('/', rawoutstream);
if(*path != '/')
- HDfputc('/', stdout);
- HDfputs(path, stdout);
- HDfputc('}', stdout);
+ HDfputc('/', rawoutstream);
+ HDfputs(path, rawoutstream);
+ HDfputc('}', rawoutstream);
/* Recurse through the external link */
/* keep the follow_elink_g for backward compatibility with -E */
if(follow_link)
{
hbool_t orig_grp_literal = grp_literal_g;
- HDfputc(' ', stdout);
+ HDfputc(' ', rawoutstream);
/* Check if we have already seen this elink */
if(symlink_is_visited(iter->symlink_list, linfo->type, filename, path))
{
- HDfputs("{Already Visited}\n", stdout);
+ HDfputs("{Already Visited}\n", rawoutstream);
goto done;
}
@@ -3244,13 +3242,13 @@ list_lnk(const char *name, const H5L_info_t *linfo, void *_iter)
grp_literal_g = orig_grp_literal;
}
else
- HDfputc('\n', stdout);
+ HDfputc('\n', rawoutstream);
}
break;
default:
- HDfputs("UD Link {cannot follow UD links}\n", stdout);
+ HDfputs("UD Link {cannot follow UD links}\n", rawoutstream);
break;
} /* end switch */
@@ -3284,11 +3282,11 @@ visit_obj(hid_t file, const char *oname, iter_t *iter)
/* Retrieve info for object to list */
if(H5Oget_info_by_name(file, oname, &oi, H5P_DEFAULT) < 0) {
if(iter->symlink_target) {
- HDfputs("{**NOT FOUND**}\n", stdout);
+ HDfputs("{**NOT FOUND**}\n", rawoutstream);
iter->symlink_target = FALSE;
}
else
- display_obj_name(stdout, iter, oname, "**NOT FOUND**");
+ display_obj_name(rawoutstream, iter, oname, "**NOT FOUND**");
return -1;
} /* end if */
@@ -3296,7 +3294,7 @@ visit_obj(hid_t file, const char *oname, iter_t *iter)
if(H5O_TYPE_GROUP == oi.type && !grp_literal_g) {
/* Get ID for group */
if(!iter->symlink_target && (iter->gid = H5Gopen2(file, oname, H5P_DEFAULT)) < 0) {
- HDfprintf(stderr, "%s: unable to open '%s' as group\n", iter->fname, oname);
+ HDfprintf(rawerrorstream, "%s: unable to open '%s' as group\n", iter->fname, oname);
return 0; /* Previously "continue", when this code was in main().
* We don't "continue" here in order to close the file
* and free the file name properly. */
@@ -3424,14 +3422,14 @@ is_valid_args(void)
if(recursive_g && grp_literal_g)
{
- HDfprintf(stderr, "Error: 'recursive' option not compatible with 'group info' option!\n\n");
+ HDfprintf(rawerrorstream, "Error: 'recursive' option not compatible with 'group info' option!\n\n");
ret = FALSE;
goto out;
}
if(no_dangling_link_g && !follow_symlink_g)
{
- HDfprintf(stderr, "Error: --no-dangling-links must be used along with --follow-symlinks option!\n\n");
+ HDfprintf(rawerrorstream, "Error: --no-dangling-links must be used along with --follow-symlinks option!\n\n");
ret = FALSE;
goto out;
}
@@ -3712,7 +3710,7 @@ main(int argc, const char *argv[])
if(file >= 0) {
if(verbose_g)
- printf("Opened \"%s\" with %s driver.\n", fname, drivername);
+ HDfprintf(rawoutstream, "Opened \"%s\" with %s driver.\n", fname, drivername);
break; /*success*/
} /* end if */
@@ -3727,7 +3725,7 @@ main(int argc, const char *argv[])
} /* end while */
if(file < 0) {
- HDfprintf(stderr, "%s: unable to open file\n", argv[argno-1]);
+ HDfprintf(rawerrorstream, "%s: unable to open file\n", argv[argno-1]);
HDfree(fname);
err_exit = 1;
continue;
@@ -3740,7 +3738,7 @@ main(int argc, const char *argv[])
iter.base_len -= oname[iter.base_len-1] == '/';
x = oname;
if(NULL == (oname = HDstrdup(oname))) {
- HDfprintf(stderr, "memory allocation failed\n");
+ HDfprintf(rawerrorstream, "memory allocation failed\n");
leave(EXIT_FAILURE);
}
*x = '\0';
@@ -3774,7 +3772,7 @@ main(int argc, const char *argv[])
if(HDstrcmp(oname, root_name)) {
/* Check the type of link given */
if(H5Lget_info(file, oname, &li, H5P_DEFAULT) < 0) {
- display_obj_name(stdout, &iter, oname, "**NOT FOUND**");
+ display_obj_name(rawoutstream, &iter, oname, "**NOT FOUND**");
leave(EXIT_FAILURE);
} /* end if */
} /* end if */