base: Save and restore the width setting of streams used with cprintf.
authorGabe Black <gabeblack@google.com>
Tue, 11 Sep 2018 07:55:28 +0000 (00:55 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 11 Sep 2018 21:39:05 +0000 (21:39 +0000)
commit1023a92971a32cdfa58e119b5fe62b91d580e729
treeca6cf65894d8a394d415d7d091ff120d0f82eaf3
parent36276ba2392f030250fa9dd1e1ea28a026bc51c6
base: Save and restore the width setting of streams used with cprintf.

The flags, precision, and fill character were all being saved and
restored, but cprintf might also change the width setting of the
stream, and that wasn't being saved or restored and could leak from
the cprintf statement.

This change adds the code to save and restore that value.

Change-Id: Ibedb26f7f538cd3be4fe0462d2ee4e5efd62bc59
Reviewed-on: https://gem5-review.googlesource.com/12571
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
src/base/cprintf.cc
src/base/cprintf.hh