OS-3068: libnvpair JSON output broken by lint fixes

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2014-06-02T18:45:14.000Z
Updated at:2014-07-16T16:57:44.000Z

People

Created by:Joshua M. Clulow [X]
Reported by:Joshua M. Clulow [X]
Assigned to:Joshua M. Clulow [X]

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2014-07-16T16:57:44.000Z)

Fix Versions

2014-07-24 Tron (Release Date: 2014-07-24)

Description

As part of the upstreaming of OS-1840 (i.e. illumos-gate#4304), some fixes were made to placate lint. Most of these were fine, but one of them removed a constant condition in a do {} while(0) loop being used as part of the FPRINTF macro -- the removal of this surround in the macro made it unsafe for use in nested if else statements and thus the logic is entirely broken.

We should fix the damage, now sadly evenly distributed across basically every SDC 7 compute node and rendering fmdump -Vj useless for the forseeable future, and also introduce some tests into the test suite to ensure this does not happen again.

Comments

Comment by Bot Bot [X]
Created at 2014-07-16T16:56:15.000Z

illumos-joyent commit 295d36e (branch master, by Joshua M. Clulow)

OS-3068 libnvpair JSON output broken by lint fixes
OS-3204 libnvpair JSON cannot print int16 arrays
Reviewed by: Robert Mustacchi <rm@joyent.com>