PR# 13862 NATURAL_32 attribute value displayed incorrectly when object printed
Problem Report Summary
Submitter: prestoat2000
Category: Runtime
Priority: Medium
Date: 2008/01/07
Class: Bug
Severity: Serious
Number: 13862
Release: 6.1.71477
Confidential: No
Status: Closed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.0.7) Gecko/20060915 Firefox/1.5.0.7
Solaris 9 on SPARC
Synopsis: NATURAL_32 attribute value displayed incorrectly when object printed
Description
If a class with a NATURAL_32 attribute whose value is 2^32-1 prints `Current' the value of the attribute is displayed as -1. This is due to incorrect format specified in routines rec_write and rec_swrite in out.c. They are using %d as the format specifier for a natural instead of %u. The format specifiers for other NATURAL types should also be corrected, though they might not make a difference on most platforms. You might want to define something similar to EIF_NATURAL_64_DISPLAY for the smaller natural types instead and then use that (might be more easily portable). The attached class could be (and should be) turned into an eweasel test.
To Reproduce
Problem Report Interactions