diff options
Diffstat (limited to 'src/H5.c')
-rw-r--r-- | src/H5.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -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; |