Print this page
5005 libnvpair JSON output broken by lint fixes
5006 libnvpair JSON cannot print int16 arrays
Reviewed by: Robert Mustacchi <rm@joyent.com>

*** 7,17 **** * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* ! * Copyright (c) 2013, Joyent, Inc. All rights reserved. */ #include <stdio.h> #include <stdlib.h> #include <strings.h> --- 7,17 ---- * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL. */ /* ! * Copyright (c) 2014, Joyent, Inc. All rights reserved. */ #include <stdio.h> #include <stdlib.h> #include <strings.h>
*** 19,30 **** #include <sys/debug.h> #include "libnvpair.h" #define FPRINTF(fp, ...) \ if (fprintf(fp, __VA_ARGS__) < 0) \ ! return (-1) \ /* * When formatting a string for JSON output we must escape certain characters, * as described in RFC4627. This applies to both member names and * DATA_TYPE_STRING values. --- 19,32 ---- #include <sys/debug.h> #include "libnvpair.h" #define FPRINTF(fp, ...) \ + do { \ if (fprintf(fp, __VA_ARGS__) < 0) \ ! return (-1); \ ! } while (0) /* * When formatting a string for JSON output we must escape certain characters, * as described in RFC4627. This applies to both member names and * DATA_TYPE_STRING values.
*** 326,336 **** VERIFY0(nvpair_value_int16_array(curr, &val, &valsz)); FPRINTF(fp, "["); for (i = 0; i < valsz; i++) { if (i > 0) FPRINTF(fp, ","); ! FPRINTF(fp, "%hhd", val[i]); } FPRINTF(fp, "]"); break; } --- 328,338 ---- VERIFY0(nvpair_value_int16_array(curr, &val, &valsz)); FPRINTF(fp, "["); for (i = 0; i < valsz; i++) { if (i > 0) FPRINTF(fp, ","); ! FPRINTF(fp, "%hd", val[i]); } FPRINTF(fp, "]"); break; }