[comp.sys.apollo] Problem using vfmt call within a Pascal routine

lytton@excalibur.mlb.semi.harris.com (Jody Lytton) (12/13/90)

Sorry to ask a programming question here, but you guys will probably
know more about using the Apollo general system calls than anyone else.

The problem: I'm writing a pascal routine on a DN3550 (9.7.5) for a
Mentor application. The Pascal is Rev 7.3808

The problem comes when I try to use a vfmt_$ws call to spit out an integer.
I get something that looks like an address when I use %d in the control line.

The section of code looks something like this:

FOR i := 1 TO some_number DO BEGIN
	vfmt_$ws5 (stream_$stdout,'%a%20t%d%.',
	record_name[i].string_name.chars,
	record_name[i].string_name.len,
	record_name[i].count,
	dummy,
	dummy);
	END;

where count is just an integer.

The values for count should be (using debugger, I know what they are) less
than 10. In a test case where count should have been 1 and 3, I got results
of 81920 and 212976, respectively.

I have tried changing the variable to a double and printing with a %f control
line. It works, but I want to get rid of the decimal.

Another bad part is that my most up-to-date documentation on programming with
general system calls is a 1985 edition.

Please respond to the inet address below. Thanks.
--
#        Jody Lytton	             ##                                    ####
## inet:  lytton@mlb.semi.harris.com  ##   "... Oh the weather is here,     ###
### phone: (407) 729-5240              ##   I wish you were beautiful ..."   ##
#### fax:   (407) 729-5005              ##                                    #