summaryrefslogtreecommitdiffstats
path: root/src/H5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5.c')
-rw-r--r--src/H5.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/H5.c b/src/H5.c
index d096a16..b2f12b2 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -519,10 +519,7 @@ HDvsnprintf(char *buf, size_t size, const char *fmt, va_list ap)
* prints an `hsize_t' value as a hex number right justified and
* zero filled in an 18-character field.
*
- * The conversion `a' refers to an `haddr_t*' type.
- *
- * Bugs: Return value will be incorrect if `%a' appears in the format
- * string.
+ * The conversion `a' refers to an `haddr_t' type.
*
* Return: Success: Number of characters printed
*
@@ -532,7 +529,9 @@ HDvsnprintf(char *buf, size_t size, const char *fmt, va_list ap)
* Thursday, April 9, 1998
*
* Modifications:
- *
+ * Robb Matzke, 1999-07-27
+ * The `%a' format refers to an argument of `haddr_t' type
+ * instead of `haddr_t*' and the return value is correct.
*-------------------------------------------------------------------------
*/
int
@@ -732,8 +731,8 @@ HDfprintf (FILE *stream, const char *fmt, ...)
case 'a':
if (1) {
- haddr_t *x = va_arg (ap, haddr_t*);
- if (x && H5F_addr_defined(x)) {
+ haddr_t x = va_arg (ap, haddr_t);
+ if (H5F_addr_defined(x)) {
sprintf(template, "%%%s%s%s%s%s",
leftjust?"-":"", plussign?"+":"",
ldspace?" ":"", prefix?"#":"",
@@ -741,15 +740,15 @@ HDfprintf (FILE *stream, const char *fmt, ...)
if (fwidth>0) {
sprintf(template+HDstrlen(template), "%d", fwidth);
}
- if (sizeof(x->offset)==SIZEOF_INT) {
+ if (sizeof(x)==SIZEOF_INT) {
HDstrcat(template, "d");
- } else if (sizeof(x->offset)==SIZEOF_LONG) {
+ } else if (sizeof(x)==SIZEOF_LONG) {
HDstrcat(template, "ld");
- } else if (sizeof(x->offset)==SIZEOF_LONG_LONG) {
+ } else if (sizeof(x)==SIZEOF_LONG_LONG) {
HDstrcat(template, PRINTF_LL_WIDTH);
HDstrcat(template, "d");
}
- n = fprintf(stream, template, x->offset);
+ n = fprintf(stream, template, x);
} else {
HDstrcpy(template, "%");
if (leftjust) HDstrcat(template, "-");
@@ -757,7 +756,7 @@ HDfprintf (FILE *stream, const char *fmt, ...)
sprintf(template+HDstrlen(template), "%d", fwidth);
}
HDstrcat(template, "s");
- fprintf(stream, template, x?"UNDEF":"NULL");
+ fprintf(stream, template, "UNDEF");
}
}
break;